diff options
Diffstat (limited to 'src/core/mem_map.h')
| -rw-r--r-- | src/core/mem_map.h | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/src/core/mem_map.h b/src/core/mem_map.h index 82cfdece5..a1fa90f3e 100644 --- a/src/core/mem_map.h +++ b/src/core/mem_map.h | |||
| @@ -12,25 +12,38 @@ | |||
| 12 | //////////////////////////////////////////////////////////////////////////////////////////////////// | 12 | //////////////////////////////////////////////////////////////////////////////////////////////////// |
| 13 | 13 | ||
| 14 | enum { | 14 | enum { |
| 15 | MEM_BOOTROM_SIZE = 0x00010000, ///< Bootrom (super secret code/data @ 0x8000) size | 15 | BOOTROM_SIZE = 0x00010000, ///< Bootrom (super secret code/data @ 0x8000) size |
| 16 | MEM_MPCORE_PRIV_SIZE = 0x00002000, ///< MPCore private memory region size | 16 | MPCORE_PRIV_SIZE = 0x00002000, ///< MPCore private memory region size |
| 17 | MEM_VRAM_SIZE = 0x00600000, ///< VRAM size | 17 | VRAM_SIZE = 0x00600000, ///< VRAM size |
| 18 | MEM_DSP_SIZE = 0x00080000, ///< DSP memory size | 18 | DSP_SIZE = 0x00080000, ///< DSP memory size |
| 19 | MEM_AXI_WRAM_SIZE = 0x00080000, ///< AXI WRAM size | 19 | AXI_WRAM_SIZE = 0x00080000, ///< AXI WRAM size |
| 20 | MEM_FCRAM_SIZE = 0x08000000, ///< FCRAM size | 20 | FCRAM_SIZE = 0x08000000, ///< FCRAM size |
| 21 | MEM_SCRATCHPAD_SIZE = 0x00004000, ///< Typical stack size - TODO: Read from exheader | 21 | SCRATCHPAD_SIZE = 0x00004000, ///< Typical stack size - TODO: Read from exheader |
| 22 | 22 | HEAP_GSP_SIZE = 0x02000000, ///< GSP heap size... TODO: Define correctly? | |
| 23 | MEM_VRAM_MASK = 0x007FFFFF, | 23 | HEAP_SIZE = FCRAM_SIZE, ///< Application heap size |
| 24 | MEM_FCRAM_MASK = (MEM_FCRAM_SIZE - 1), ///< FCRAM mask | 24 | |
| 25 | MEM_SCRATCHPAD_MASK = (MEM_SCRATCHPAD_SIZE - 1), ///< Scratchpad memory mask | 25 | HEAP_PADDR = HEAP_GSP_SIZE, |
| 26 | 26 | HEAP_PADDR_END = (HEAP_PADDR + HEAP_SIZE), | |
| 27 | MEM_FCRAM_PADDR = 0x20000000, ///< FCRAM physical address | 27 | HEAP_VADDR = 0x08000000, |
| 28 | MEM_FCRAM_PADDR_END = (MEM_FCRAM_PADDR + MEM_FCRAM_SIZE), ///< FCRAM end of physical space | 28 | HEAP_VADDR_END = (HEAP_VADDR + HEAP_SIZE), |
| 29 | MEM_FCRAM_VADDR = 0x08000000, ///< FCRAM virtual address | 29 | HEAP_GSP_VADDR = 0x14000000, |
| 30 | MEM_FCRAM_VADDR_END = (MEM_FCRAM_VADDR + MEM_FCRAM_SIZE), ///< FCRAM end of virtual space | 30 | HEAP_GSP_VADDR_END = (HEAP_GSP_VADDR + HEAP_GSP_SIZE), |
| 31 | 31 | HEAP_GSP_PADDR = 0x00000000, | |
| 32 | MEM_VRAM_VADDR = 0x1F000000, | 32 | HEAP_GSP_PADDR_END = (HEAP_GSP_PADDR + HEAP_GSP_SIZE), |
| 33 | MEM_SCRATCHPAD_VADDR = (0x10000000 - MEM_SCRATCHPAD_SIZE), ///< Scratchpad virtual address | 33 | |
| 34 | VRAM_MASK = 0x007FFFFF, | ||
| 35 | FCRAM_MASK = (FCRAM_SIZE - 1), ///< FCRAM mask | ||
| 36 | SCRATCHPAD_MASK = (SCRATCHPAD_SIZE - 1), ///< Scratchpad memory mask | ||
| 37 | HEAP_MASK = (HEAP_SIZE - 1), | ||
| 38 | |||
| 39 | FCRAM_PADDR = 0x20000000, ///< FCRAM physical address | ||
| 40 | FCRAM_PADDR_END = (FCRAM_PADDR + FCRAM_SIZE), ///< FCRAM end of physical space | ||
| 41 | FCRAM_VADDR = 0x08000000, ///< FCRAM virtual address | ||
| 42 | FCRAM_VADDR_END = (FCRAM_VADDR + FCRAM_SIZE), ///< FCRAM end of virtual space | ||
| 43 | |||
| 44 | VRAM_VADDR = 0x1F000000, | ||
| 45 | SCRATCHPAD_VADDR_END = 0x10000000, | ||
| 46 | SCRATCHPAD_VADDR = (SCRATCHPAD_VADDR_END - SCRATCHPAD_SIZE), ///< Stack space | ||
| 34 | }; | 47 | }; |
| 35 | 48 | ||
| 36 | //////////////////////////////////////////////////////////////////////////////////////////////////// | 49 | //////////////////////////////////////////////////////////////////////////////////////////////////// |
| @@ -49,7 +62,7 @@ extern u8 *g_base; | |||
| 49 | // These are guaranteed to point to "low memory" addresses (sub-32-bit). | 62 | // These are guaranteed to point to "low memory" addresses (sub-32-bit). |
| 50 | // 64-bit: Pointers to low-mem (sub-0x10000000) mirror | 63 | // 64-bit: Pointers to low-mem (sub-0x10000000) mirror |
| 51 | // 32-bit: Same as the corresponding physical/virtual pointers. | 64 | // 32-bit: Same as the corresponding physical/virtual pointers. |
| 52 | extern u8* g_fcram; ///< Main memory | 65 | extern u8* g_heap; ///< Main memory |
| 53 | extern u8* g_vram; ///< Video memory (VRAM) | 66 | extern u8* g_vram; ///< Video memory (VRAM) |
| 54 | 67 | ||
| 55 | void Init(); | 68 | void Init(); |