diff options
| author | 2017-05-14 13:52:40 -0700 | |
|---|---|---|
| committer | 2017-05-14 13:52:40 -0700 | |
| commit | 180587bb8bd18feeb81028007556276ef4ecaafd (patch) | |
| tree | 5939bfa2c92ced9b30ade0b725ace7b7dce3d040 /src/core/memory.cpp | |
| parent | Merge pull request #2695 from JayFoxRox/gs-regs (diff) | |
| parent | Kernel: Map special regions according to ExHeader (diff) | |
| download | yuzu-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.cpp | 8 |
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); |