From 9ceb0d93817c1dd48c954bfdbb7516fc3d913245 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 22 Oct 2017 23:17:59 -0400 Subject: [PATCH] memory: Support 32-bit paging, move heap address space up. --- src/core/loader/nso.cpp | 2 +- src/core/memory.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp index 0d16d4b8c..7b44d452e 100644 --- a/src/core/loader/nso.cpp +++ b/src/core/loader/nso.cpp @@ -163,7 +163,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr& process) { // Load and relocate remaining submodules for (const auto& module_name : {"main", "sdk", "subsdk0", "subsdk1"}) { - LOG_INFO(Loader, "loading %s @ 0x%08x", module_name, next_base_addr); + LOG_INFO(Loader, "loading %s @ 0x%llx", module_name, next_base_addr); const std::string module_path = filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module_name; next_base_addr = LoadNso(module_path, next_base_addr); diff --git a/src/core/memory.h b/src/core/memory.h index 9a04b9a16..8c60f1dd3 100644 --- a/src/core/memory.h +++ b/src/core/memory.h @@ -26,7 +26,7 @@ namespace Memory { const int PAGE_BITS = 12; const u64 PAGE_SIZE = 1 << PAGE_BITS; const u64 PAGE_MASK = PAGE_SIZE - 1; -const size_t PAGE_TABLE_NUM_ENTRIES = 1ULL << (32 - PAGE_BITS); +const size_t PAGE_TABLE_NUM_ENTRIES = 1ULL << (36 - PAGE_BITS); enum class PageType { /// Page is unmapped and should cause an access error. @@ -135,7 +135,7 @@ enum : VAddr { IPC_MAPPING_VADDR_END = IPC_MAPPING_VADDR + IPC_MAPPING_SIZE, /// Application heap (includes stack). - HEAP_VADDR = 0x08000000, + HEAP_VADDR = 0x108000000, HEAP_SIZE = 0x08000000, HEAP_VADDR_END = HEAP_VADDR + HEAP_SIZE,