memory: Support 32-bit paging, move heap address space up.
This commit is contained in:
parent
dcd6bb82f7
commit
9ceb0d9381
|
@ -163,7 +163,7 @@ ResultStatus AppLoader_NSO::Load(Kernel::SharedPtr<Kernel::Process>& 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);
|
||||
|
|
|
@ -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,
|
||||
|
||||
|
|
Reference in New Issue