mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
Disable super-page I/O mappings on FOC and Fiasco
We disable super-page I/O mappings because our unmap code does not flush local mappings from core and, thus, breaks later re-mappings of different page size. Issue #2547
This commit is contained in:
parent
5d1f08d512
commit
6151e1bbb2
@ -31,9 +31,14 @@ void Io_mem_session_component::_unmap_local(addr_t base, size_t)
|
||||
}
|
||||
|
||||
|
||||
static inline bool can_use_super_page(addr_t base, size_t size) {
|
||||
return (base & (get_super_page_size() - 1)) == 0
|
||||
&& (size >= get_super_page_size()); }
|
||||
static inline bool can_use_super_page(addr_t, size_t)
|
||||
{
|
||||
/*
|
||||
* We disable super-page I/O mappings as unmap does not flush the local
|
||||
* mapping which breaks later re-mappings of different page size.
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
addr_t Io_mem_session_component::_map_local(addr_t base, size_t size)
|
||||
|
@ -66,10 +66,13 @@ namespace Genode {
|
||||
}
|
||||
|
||||
|
||||
static inline bool can_use_super_page(addr_t base, size_t size)
|
||||
static inline bool can_use_super_page(addr_t, size_t)
|
||||
{
|
||||
return (base & (get_super_page_size() - 1)) == 0
|
||||
&& (size >= get_super_page_size());
|
||||
/*
|
||||
* We disable super-page I/O mappings as unmap does not flush the local
|
||||
* mapping which breaks later re-mappings of different page size.
|
||||
*/
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user