diff --git a/repos/base-pistachio/src/core/io_mem_session_support.cc b/repos/base-pistachio/src/core/io_mem_session_support.cc index b1365d467e..71a6c01e1f 100644 --- a/repos/base-pistachio/src/core/io_mem_session_support.cc +++ b/repos/base-pistachio/src/core/io_mem_session_support.cc @@ -66,10 +66,10 @@ addr_t Io_mem_session_component::_map_local(addr_t base, size_t size) if (is_conventional_memory(base)) return base; - /* align large I/O dataspaces on a super-page boundary within core */ + /* align large I/O dataspaces to super page size, otherwise to size */ size_t const align = (size >= get_super_page_size()) - ? get_super_page_size_log2() - : get_page_size_log2(); + ? get_super_page_size_log2() + : log2(size); return platform().region_alloc().alloc_aligned(size, align).convert( [&] (void *ptr) { return (addr_t)ptr; },