diff --git a/repos/base-nova/src/core/platform.cc b/repos/base-nova/src/core/platform.cc index c3c356ebf..68a84390f 100644 --- a/repos/base-nova/src/core/platform.cc +++ b/repos/base-nova/src/core/platform.cc @@ -556,17 +556,11 @@ Platform::Platform() for (unsigned i = 0; i < num_mem_desc; i++, mem_desc++) { if (mem_desc->type == Hip::Mem_desc::AVAILABLE_MEMORY) continue; - if (verbose_boot_info) - log("detected res memory: ", Hex(mem_desc->addr), " - size: ", - Hex(mem_desc->size), " type=", (int)mem_desc->type); if (mem_desc->type == Hip::Mem_desc::HYPERVISOR_LOG) { hyp_log = mem_desc->addr; hyp_log_size = mem_desc->size; } - /* skip regions above 4G on 32 bit, no op on 64 bit */ - if (mem_desc->addr > ~0UL) continue; - addr_t base = trunc_page(mem_desc->addr); size_t size = mem_desc->size; @@ -578,6 +572,13 @@ Platform::Platform() size = pitch * height; } + if (verbose_boot_info) + log("reserved memory: ", Hex(mem_desc->addr), " - size: ", + Hex(size), " type=", (int)mem_desc->type); + + /* skip regions above 4G on 32 bit, no op on 64 bit */ + if (mem_desc->addr > ~0UL) continue; + /* truncate size if base+size larger then natural 32/64 bit boundary */ if (mem_desc->addr + size < mem_desc->addr) size = 0UL - base;