diff options
author | Liam <byteslice@airmail.cc> | 2023-10-11 15:44:49 +0200 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2023-10-20 08:34:15 +0200 |
commit | 22afa2c7a39e11ccbe572e600a5a863cd323f2b0 (patch) | |
tree | 517d3d8a730140c12e7f6cbbeed6d37a508bd6bc /src/core/hle/kernel/k_memory_manager.cpp | |
parent | Merge pull request #11822 from german77/no-name (diff) | |
download | yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar.gz yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar.bz2 yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar.lz yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar.xz yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.tar.zst yuzu-22afa2c7a39e11ccbe572e600a5a863cd323f2b0.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/k_memory_manager.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/kernel/k_memory_manager.cpp b/src/core/hle/kernel/k_memory_manager.cpp index 74d8169e0..637558e10 100644 --- a/src/core/hle/kernel/k_memory_manager.cpp +++ b/src/core/hle/kernel/k_memory_manager.cpp @@ -119,7 +119,8 @@ void KMemoryManager::Initialize(KVirtualAddress management_region, size_t manage // Free each region to its corresponding heap. size_t reserved_sizes[MaxManagerCount] = {}; const KPhysicalAddress ini_start = GetInitialProcessBinaryPhysicalAddress(); - const KPhysicalAddress ini_end = ini_start + InitialProcessBinarySizeMax; + const size_t ini_size = GetInitialProcessBinarySize(); + const KPhysicalAddress ini_end = ini_start + ini_size; const KPhysicalAddress ini_last = ini_end - 1; for (const auto& it : m_system.Kernel().MemoryLayout().GetPhysicalMemoryRegionTree()) { if (it.IsDerivedFrom(KMemoryRegionType_DramUserPool)) { @@ -137,13 +138,13 @@ void KMemoryManager::Initialize(KVirtualAddress management_region, size_t manage } // Open/reserve the ini memory. - manager.OpenFirst(ini_start, InitialProcessBinarySizeMax / PageSize); - reserved_sizes[it.GetAttributes()] += InitialProcessBinarySizeMax; + manager.OpenFirst(ini_start, ini_size / PageSize); + reserved_sizes[it.GetAttributes()] += ini_size; // Free memory after the ini to the heap. if (ini_last != cur_last) { ASSERT(cur_end != 0); - manager.Free(ini_end, cur_end - ini_end); + manager.Free(ini_end, (cur_end - ini_end) / PageSize); } } else { // Ensure there's no partial overlap with the ini image. |