summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2017-05-14 13:52:40 -0700
committerGravatar GitHub2017-05-14 13:52:40 -0700
commit180587bb8bd18feeb81028007556276ef4ecaafd (patch)
tree5939bfa2c92ced9b30ade0b725ace7b7dce3d040 /src/core/memory.cpp
parentMerge pull request #2695 from JayFoxRox/gs-regs (diff)
parentKernel: Map special regions according to ExHeader (diff)
downloadyuzu-180587bb8bd18feeb81028007556276ef4ecaafd.tar.gz
yuzu-180587bb8bd18feeb81028007556276ef4ecaafd.tar.xz
yuzu-180587bb8bd18feeb81028007556276ef4ecaafd.zip
Merge pull request #2687 from yuriks/address-mappings
Kernel: Map special regions according to ExHeader
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 65e4bba85..b8438e490 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -672,12 +672,14 @@ PAddr VirtualToPhysicalAddress(const VAddr addr) {
672 return addr - VRAM_VADDR + VRAM_PADDR; 672 return addr - VRAM_VADDR + VRAM_PADDR;
673 } else if (addr >= LINEAR_HEAP_VADDR && addr < LINEAR_HEAP_VADDR_END) { 673 } else if (addr >= LINEAR_HEAP_VADDR && addr < LINEAR_HEAP_VADDR_END) {
674 return addr - LINEAR_HEAP_VADDR + FCRAM_PADDR; 674 return addr - LINEAR_HEAP_VADDR + FCRAM_PADDR;
675 } else if (addr >= NEW_LINEAR_HEAP_VADDR && addr < NEW_LINEAR_HEAP_VADDR_END) {
676 return addr - NEW_LINEAR_HEAP_VADDR + FCRAM_PADDR;
675 } else if (addr >= DSP_RAM_VADDR && addr < DSP_RAM_VADDR_END) { 677 } else if (addr >= DSP_RAM_VADDR && addr < DSP_RAM_VADDR_END) {
676 return addr - DSP_RAM_VADDR + DSP_RAM_PADDR; 678 return addr - DSP_RAM_VADDR + DSP_RAM_PADDR;
677 } else if (addr >= IO_AREA_VADDR && addr < IO_AREA_VADDR_END) { 679 } else if (addr >= IO_AREA_VADDR && addr < IO_AREA_VADDR_END) {
678 return addr - IO_AREA_VADDR + IO_AREA_PADDR; 680 return addr - IO_AREA_VADDR + IO_AREA_PADDR;
679 } else if (addr >= NEW_LINEAR_HEAP_VADDR && addr < NEW_LINEAR_HEAP_VADDR_END) { 681 } else if (addr >= N3DS_EXTRA_RAM_VADDR && addr < N3DS_EXTRA_RAM_VADDR_END) {
680 return addr - NEW_LINEAR_HEAP_VADDR + FCRAM_PADDR; 682 return addr - N3DS_EXTRA_RAM_VADDR + N3DS_EXTRA_RAM_PADDR;
681 } 683 }
682 684
683 LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr); 685 LOG_ERROR(HW_Memory, "Unknown virtual address @ 0x%08X", addr);
@@ -696,6 +698,8 @@ VAddr PhysicalToVirtualAddress(const PAddr addr) {
696 return addr - DSP_RAM_PADDR + DSP_RAM_VADDR; 698 return addr - DSP_RAM_PADDR + DSP_RAM_VADDR;
697 } else if (addr >= IO_AREA_PADDR && addr < IO_AREA_PADDR_END) { 699 } else if (addr >= IO_AREA_PADDR && addr < IO_AREA_PADDR_END) {
698 return addr - IO_AREA_PADDR + IO_AREA_VADDR; 700 return addr - IO_AREA_PADDR + IO_AREA_VADDR;
701 } else if (addr >= N3DS_EXTRA_RAM_PADDR && addr < N3DS_EXTRA_RAM_PADDR_END) {
702 return addr - N3DS_EXTRA_RAM_PADDR + N3DS_EXTRA_RAM_VADDR;
699 } 703 }
700 704
701 LOG_ERROR(HW_Memory, "Unknown physical address @ 0x%08X", addr); 705 LOG_ERROR(HW_Memory, "Unknown physical address @ 0x%08X", addr);