diff --git a/src/core/device_memory.cpp b/src/core/device_memory.cpp index f19c0515ff..e6bc630864 100644 --- a/src/core/device_memory.cpp +++ b/src/core/device_memory.cpp @@ -3,10 +3,13 @@ // Refer to the license.txt file included. #include "core/device_memory.h" +#include "hle/kernel/board/nintendo/nx/k_system_control.h" namespace Core { -DeviceMemory::DeviceMemory() : buffer{DramMemoryMap::Size, 1ULL << 39} {} +DeviceMemory::DeviceMemory() + : buffer{Kernel::Board::Nintendo::Nx::KSystemControl::Init::GetIntendedMemorySize(), + 1ULL << 39} {} DeviceMemory::~DeviceMemory() = default; } // namespace Core diff --git a/src/core/device_memory.h b/src/core/device_memory.h index c4d17705f1..daeb551eab 100644 --- a/src/core/device_memory.h +++ b/src/core/device_memory.h @@ -12,12 +12,8 @@ namespace Core { namespace DramMemoryMap { enum : u64 { Base = 0x80000000ULL, - Size = 0x100000000ULL, - End = Base + Size, KernelReserveBase = Base + 0x60000, SlabHeapBase = KernelReserveBase + 0x85000, - SlapHeapSize = 0xa21000, - SlabHeapEnd = SlabHeapBase + SlapHeapSize, }; }; // namespace DramMemoryMap diff --git a/src/core/memory.cpp b/src/core/memory.cpp index 88d6ec9083..28d30eee29 100644 --- a/src/core/memory.cpp +++ b/src/core/memory.cpp @@ -39,8 +39,7 @@ struct Memory::Impl { void MapMemoryRegion(Common::PageTable& page_table, VAddr base, u64 size, PAddr target) { ASSERT_MSG((size & PAGE_MASK) == 0, "non-page aligned size: {:016X}", size); ASSERT_MSG((base & PAGE_MASK) == 0, "non-page aligned base: {:016X}", base); - ASSERT_MSG(target >= DramMemoryMap::Base && target < DramMemoryMap::End, - "Out of bounds target: {:016X}", target); + ASSERT_MSG(target >= DramMemoryMap::Base, "Out of bounds target: {:016X}", target); MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, target, Common::PageType::Memory); if (Settings::IsFastmemEnabled()) {