diff options
Diffstat (limited to 'src/core/mem_map.h')
| -rw-r--r-- | src/core/mem_map.h | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/src/core/mem_map.h b/src/core/mem_map.h index 509fc8fd9..00c3b47fc 100644 --- a/src/core/mem_map.h +++ b/src/core/mem_map.h | |||
| @@ -17,39 +17,41 @@ enum { | |||
| 17 | VRAM_SIZE = 0x00600000, ///< VRAM size | 17 | VRAM_SIZE = 0x00600000, ///< VRAM size |
| 18 | DSP_SIZE = 0x00080000, ///< DSP memory size | 18 | DSP_SIZE = 0x00080000, ///< DSP memory size |
| 19 | AXI_WRAM_SIZE = 0x00080000, ///< AXI WRAM size | 19 | AXI_WRAM_SIZE = 0x00080000, ///< AXI WRAM size |
| 20 | |||
| 20 | FCRAM_SIZE = 0x08000000, ///< FCRAM size | 21 | FCRAM_SIZE = 0x08000000, ///< FCRAM size |
| 21 | SCRATCHPAD_SIZE = 0x00004000, ///< Typical stack size - TODO: Read from exheader | 22 | FCRAM_PADDR = 0x20000000, ///< FCRAM physical address |
| 22 | HEAP_GSP_SIZE = 0x02000000, ///< GSP heap size... TODO: Define correctly? | 23 | FCRAM_PADDR_END = (FCRAM_PADDR + FCRAM_SIZE), ///< FCRAM end of physical space |
| 23 | HEAP_SIZE = FCRAM_SIZE, ///< Application heap size | 24 | FCRAM_VADDR = 0x08000000, ///< FCRAM virtual address |
| 24 | SHARED_MEMORY_SIZE = 0x04000000, ///< Shared memory size | 25 | FCRAM_VADDR_END = (FCRAM_VADDR + FCRAM_SIZE), ///< FCRAM end of virtual space |
| 25 | HARDWARE_IO_SIZE = 0x01000000, | 26 | FCRAM_VADDR_FW0B = 0xF0000000, ///< FCRAM adress for firmare FW0B |
| 27 | FCRAM_VADDR_FW0B_END = (FCRAM_VADDR_FW0B + FCRAM_SIZE), ///< FCRAM adress end for FW0B | ||
| 28 | FCRAM_MASK = (FCRAM_SIZE - 1), ///< FCRAM mask | ||
| 26 | 29 | ||
| 30 | SHARED_MEMORY_SIZE = 0x04000000, ///< Shared memory size | ||
| 27 | SHARED_MEMORY_VADDR = 0x10000000, ///< Shared memory | 31 | SHARED_MEMORY_VADDR = 0x10000000, ///< Shared memory |
| 28 | SHARED_MEMORY_VADDR_END = (SHARED_MEMORY_VADDR + SHARED_MEMORY_SIZE), | 32 | SHARED_MEMORY_VADDR_END = (SHARED_MEMORY_VADDR + SHARED_MEMORY_SIZE), |
| 33 | SHARED_MEMORY_MASK = (SHARED_MEMORY_SIZE - 1), | ||
| 29 | 34 | ||
| 30 | HEAP_PADDR = HEAP_GSP_SIZE, | 35 | EXEFS_CODE_SIZE = 0x03F00000, |
| 31 | HEAP_PADDR_END = (HEAP_PADDR + HEAP_SIZE), | 36 | EXEFS_CODE_VADDR = 0x00100000, ///< ExeFS:/.code is loaded here |
| 37 | EXEFS_CODE_VADDR_END = (EXEFS_CODE_VADDR + EXEFS_CODE_SIZE), | ||
| 38 | EXEFS_CODE_MASK = (EXEFS_CODE_VADDR - 1), | ||
| 39 | |||
| 40 | HEAP_SIZE = FCRAM_SIZE, ///< Application heap size | ||
| 41 | //HEAP_PADDR = HEAP_GSP_SIZE, | ||
| 42 | //HEAP_PADDR_END = (HEAP_PADDR + HEAP_SIZE), | ||
| 32 | HEAP_VADDR = 0x08000000, | 43 | HEAP_VADDR = 0x08000000, |
| 33 | HEAP_VADDR_END = (HEAP_VADDR + HEAP_SIZE), | 44 | HEAP_VADDR_END = (HEAP_VADDR + HEAP_SIZE), |
| 45 | HEAP_MASK = (HEAP_SIZE - 1), | ||
| 46 | |||
| 47 | HEAP_GSP_SIZE = 0x02000000, ///< GSP heap size... TODO: Define correctly? | ||
| 34 | HEAP_GSP_VADDR = 0x14000000, | 48 | HEAP_GSP_VADDR = 0x14000000, |
| 35 | HEAP_GSP_VADDR_END = (HEAP_GSP_VADDR + HEAP_GSP_SIZE), | 49 | HEAP_GSP_VADDR_END = (HEAP_GSP_VADDR + HEAP_GSP_SIZE), |
| 36 | HEAP_GSP_PADDR = 0x00000000, | 50 | HEAP_GSP_PADDR = 0x00000000, |
| 37 | HEAP_GSP_PADDR_END = (HEAP_GSP_PADDR + HEAP_GSP_SIZE), | 51 | HEAP_GSP_PADDR_END = (HEAP_GSP_PADDR + HEAP_GSP_SIZE), |
| 38 | |||
| 39 | VRAM_MASK = 0x007FFFFF, | ||
| 40 | FCRAM_MASK = (FCRAM_SIZE - 1), ///< FCRAM mask | ||
| 41 | SCRATCHPAD_MASK = (SCRATCHPAD_SIZE - 1), ///< Scratchpad memory mask | ||
| 42 | HEAP_GSP_MASK = (HEAP_GSP_SIZE - 1), | 52 | HEAP_GSP_MASK = (HEAP_GSP_SIZE - 1), |
| 43 | HEAP_MASK = (HEAP_SIZE - 1), | ||
| 44 | SHARED_MEMORY_MASK = (SHARED_MEMORY_SIZE - 1), | ||
| 45 | |||
| 46 | FCRAM_PADDR = 0x20000000, ///< FCRAM physical address | ||
| 47 | FCRAM_PADDR_END = (FCRAM_PADDR + FCRAM_SIZE), ///< FCRAM end of physical space | ||
| 48 | FCRAM_VADDR = 0x08000000, ///< FCRAM virtual address | ||
| 49 | FCRAM_VADDR_END = (FCRAM_VADDR + FCRAM_SIZE), ///< FCRAM end of virtual space | ||
| 50 | FRAM_VADDR_FW0B = 0xF0000000, ///< FCRAM adress for firmare FW0B | ||
| 51 | FRAM_VADDR_FW0B_END = (FRAM_VADDR_FW0B + FCRAM_SIZE), ///< FCRAM adress end for FW0B | ||
| 52 | 53 | ||
| 54 | HARDWARE_IO_SIZE = 0x01000000, | ||
| 53 | HARDWARE_IO_PADDR = 0x10000000, ///< IO physical address start | 55 | HARDWARE_IO_PADDR = 0x10000000, ///< IO physical address start |
| 54 | HARDWARE_IO_VADDR = 0x1EC00000, ///< IO virtual address start | 56 | HARDWARE_IO_VADDR = 0x1EC00000, ///< IO virtual address start |
| 55 | HARDWARE_IO_PADDR_END = (HARDWARE_IO_PADDR + HARDWARE_IO_SIZE), | 57 | HARDWARE_IO_PADDR_END = (HARDWARE_IO_PADDR + HARDWARE_IO_SIZE), |
| @@ -59,9 +61,12 @@ enum { | |||
| 59 | VRAM_VADDR = 0x1F000000, | 61 | VRAM_VADDR = 0x1F000000, |
| 60 | VRAM_PADDR_END = (VRAM_PADDR + VRAM_SIZE), | 62 | VRAM_PADDR_END = (VRAM_PADDR + VRAM_SIZE), |
| 61 | VRAM_VADDR_END = (VRAM_VADDR + VRAM_SIZE), | 63 | VRAM_VADDR_END = (VRAM_VADDR + VRAM_SIZE), |
| 64 | VRAM_MASK = 0x007FFFFF, | ||
| 62 | 65 | ||
| 66 | SCRATCHPAD_SIZE = 0x00004000, ///< Typical stack size - TODO: Read from exheader | ||
| 63 | SCRATCHPAD_VADDR_END = 0x10000000, | 67 | SCRATCHPAD_VADDR_END = 0x10000000, |
| 64 | SCRATCHPAD_VADDR = (SCRATCHPAD_VADDR_END - SCRATCHPAD_SIZE), ///< Stack space | 68 | SCRATCHPAD_VADDR = (SCRATCHPAD_VADDR_END - SCRATCHPAD_SIZE), ///< Stack space |
| 69 | SCRATCHPAD_MASK = (SCRATCHPAD_SIZE - 1), ///< Scratchpad memory mask | ||
| 65 | }; | 70 | }; |
| 66 | 71 | ||
| 67 | //////////////////////////////////////////////////////////////////////////////////////////////////// | 72 | //////////////////////////////////////////////////////////////////////////////////////////////////// |
| @@ -100,6 +105,7 @@ extern u8* g_heap_gsp; ///< GSP heap (main memory) | |||
| 100 | extern u8* g_heap; ///< Application heap (main memory) | 105 | extern u8* g_heap; ///< Application heap (main memory) |
| 101 | extern u8* g_vram; ///< Video memory (VRAM) | 106 | extern u8* g_vram; ///< Video memory (VRAM) |
| 102 | extern u8* g_shared_mem; ///< Shared memory | 107 | extern u8* g_shared_mem; ///< Shared memory |
| 108 | extern u8* g_exefs_code; ///< ExeFS:/.code is loaded here | ||
| 103 | 109 | ||
| 104 | void Init(); | 110 | void Init(); |
| 105 | void Shutdown(); | 111 | void Shutdown(); |