memory: Support 32-bit paging, move heap address space up.

This commit is contained in:
bunnei 2017-10-22 23:17:59 -04:00
parent dcd6bb82f7
commit 9ceb0d9381
2 changed files with 3 additions and 3 deletions

View file

@ -163,7 +163,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& process) {
// Load and relocate remaining submodules // Load and relocate remaining submodules
for (const auto& module_name : {"main", "sdk", "subsdk0", "subsdk1"}) { 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 = const std::string module_path =
filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module_name; filepath.substr(0, filepath.find_last_of("/\\")) + "/" + module_name;
next_base_addr = LoadNso(module_path, next_base_addr); next_base_addr = LoadNso(module_path, next_base_addr);

View file

@ -26,7 +26,7 @@ namespace Memory {
const int PAGE_BITS = 12; const int PAGE_BITS = 12;
const u64 PAGE_SIZE = 1 << PAGE_BITS; const u64 PAGE_SIZE = 1 << PAGE_BITS;
const u64 PAGE_MASK = PAGE_SIZE - 1; 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 { enum class PageType {
/// Page is unmapped and should cause an access error. /// 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, IPC_MAPPING_VADDR_END = IPC_MAPPING_VADDR + IPC_MAPPING_SIZE,
/// Application heap (includes stack). /// Application heap (includes stack).
HEAP_VADDR = 0x08000000, HEAP_VADDR = 0x108000000,
HEAP_SIZE = 0x08000000, HEAP_SIZE = 0x08000000,
HEAP_VADDR_END = HEAP_VADDR + HEAP_SIZE, HEAP_VADDR_END = HEAP_VADDR + HEAP_SIZE,