mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-06 09:21:49 +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) {
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
addr_t Io_mem_session_component::_map_local(addr_t base, size_t size)
|
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…
x
Reference in New Issue
Block a user