Memory map
Jump to navigation
Jump to search
The Wii U has a variety of physical memory sources. There is the 2 GiB of DDR3 split into 4 chips (MEM2), 32 MiB of fast 1T SRAM (MEM1), and the old GX framebuffer (MEM0).
Start Address | End Address | Size | Chip | Notes |
---|---|---|---|---|
0x00000000 | 0x01FFFFFF | 0x2000000 | MEM1 |
MEM1-A: 0x00000000 to 0x00000FFF (0x1000) |
0x08000000 | 0x0811FFFF | 0x120000 | MEM0 |
MEM0-A: 0x08000000 to 0x080FFFFF (0x100000) |
0x08120000 | 0x081BFFFF | 0xA0000 | MEM0 | IOSU kernel |
0x081C0000 | 0x0827FFFF | 0xC0000 | MEM0 | IOSU MCP process |
0x08280000 | 0x082AFFFF | 0x30000 | MEM0 | IOSU CRYPTO process |
0x082C0000 | 0x082DFFFF | 0x20000 | MEM0 | Reserved (IOSU) |
0x0C000000 | 0x0C3FFFFF | 0x400000 | MMIO | Espresso Registers (GX2/DSP/OTP) |
0x0D000000 | 0x0D005FFF | 0x6000 | MMIO | Latte registers (shared with Espresso) |
0x0D006000 | 0x0D00FFFF | 0xA000 | MMIO | Legacy registers (DI/SI/EXI/AI) |
0x0D010000 | 0x0D01FFFF | 0x10000 | MMIO | NAND registers |
0x0D020000 | 0x0D02FFFF | 0x10000 | MMIO | AES registers (has a virtual mapping at 0x0D820000) |
0x0D030000 | 0x0D03FFFF | 0x10000 | MMIO | SHA-1 registers (has a virtual mapping at 0x0D830000) |
0x0D040000 | 0x0D04FFFF | 0x10000 | MMIO | EHCI-0 registers |
0x0D050000 | 0x0D05FFFF | 0x10000 | MMIO | OHCI-0:0 registers |
0x0D060000 | 0x0D06FFFF | 0x10000 | MMIO | OHCI-0:1 registers |
0x0D070000 | 0x0D07FFFF | 0x10000 | MMIO | SDIO registers |
0x0D080000 | 0x0D08FFFF | 0x10000 | MMIO | SDIO registers (802.11 Wireless) |
0x0D100000 | 0x0D10FFFF | 0x10000 | MMIO | SDIO registers (eMMC) |
0x0D110000 | 0x0D11FFFF | 0x10000 | MMIO | SDIO registers (Toucan) |
0x0D120000 | 0x0D12FFFF | 0x10000 | MMIO | EHCI-1 registers |
0x0D130000 | 0x0D13FFFF | 0x10000 | MMIO | OHCI-1:0 registers |
0x0D140000 | 0x0D14FFFF | 0x10000 | MMIO | EHCI-2 registers |
0x0D150000 | 0x0D15FFFF | 0x10000 | MMIO | OHCI-2:0 registers |
0x0D160000 | 0x0D16FFFF | 0x10000 | MMIO | SATA registers |
0x0D180000 | 0x0D18FFFF | 0x10000 | MMIO | AESS registers (has a virtual mapping at 0x0D980000) |
0x0D190000 | 0x0D19FFFF | 0x10000 | MMIO | SHAS-1 registers (has a virtual mapping at 0x0D990000) |
0x0D400000 | 0x0D40FFFF | 0x10000 | SRAM1 | boot1 (mirrored in 0xFFF00000) |
0x0D410000 | 0x0D41FFFF | 0x10000 | SRAM0 | boot0 (mirrored in 0xFFFF0000) |
0x0D800000 | 0x0D805FFF | 0x6000 | MMIO | Latte registers |
0x0D8B0000 | 0x0D8B3FFF | 0x4000 | MMIO | AHMN registers |
0x0D8B4000 | 0x0D8BFFFF | 0xC000 | MMIO | Memory Controller registers |
0x10000000 | 0x100FFFFF | 0x100000 | MEM2 | boot1 warmboot PRSH/PRST |
0x10100000 | 0x104CFFFF | 0x3D0000 | MEM2 | IOSU USB process |
0x10800000 | 0x11EDFFFF | 0x16E0000 | MEM2 | IOSU FS process |
0x11F00000 | 0x1215FFFF | 0x260000 | MEM2 | IOSU PAD process |
0x12300000 | 0x1288FFFF | 0x590000 | MEM2 | IOSU NET process |
0x12900000 | 0x12B6FFFF | 0x270000 | MEM2 | IOSU ACP process |
0x12BC0000 | 0x12EAFFFF | 0x2F0000 | MEM2 | IOSU NSEC process |
0x12EC0000 | 0x1358FFFF | 0x6D0000 | MEM2 | IOSU NIM-BOSS process |
0x13640000 | 0x1393FFFF | 0x300000 | MEM2 | IOSU FPD process |
0x13A40000 | 0x13B9FFFF | 0x160000 | MEM2 | IOSU TEST process |
0x13C00000 | 0x13C70000 | 0x70000 | MEM2 | IOSU AUXIL process |
0x13CC0000 | 0x13D7FFFF | 0xC0000 | MEM2 | IOSU BSP process |
0x13D80000 | 0x13DBFFFF | 0x40000 | MEM2 | IOSU MCP process (debug and recovery mode) |
0x14000000 | 0x1CFFFFFF | 0x9000000 | MEM2 |
MEM2-A: 0x14000000 to 0x1CFFFFFF (0x9000000) |
0x1D000000 | 0x1FAFFFFF | 0x2B00000 | MEM2 | IOSU global heap |
0x1FB00000 | 0x1FDFFFFF | 0x300000 | MEM2 | IOSU global IOB (input/output block) |
0x1FE00000 | 0x1FE3FFFF | 0x40000 | MEM2 | MCP shared region (for IOSU) |
0x1FE40000 | 0x1FFFFFFF | 0x1C0000 | MEM2 | MCP setup region (launch, ramdisk and file system cache) |
0x20000000 | 0x27FFFFFF | 0x8000000 | MEM2 | RAMDISK |
0x28000000 | 0xCFFFFFFF | 0xA8000000 | MEM2 |
MEM2-B: 0x28000000 to 0xCFFFFFFF (0xA8000000). The 0x10000000 vmem is mapped to the following areas depending on the RAMPID: |
0xFFC00000 | 0xFFE7FFFF | 0x280000 | UNK | Used by Cafe OS (codegen and PPC kernel ancast image mirror) |
0xFFF00000 | 0xFFF07FFF | 0x8000 | SRAM1 | C2W (cafe2wii) boot heap (used to store the old Wii SEEPROM data) |
0xFFFE0000 | 0xFFFE7FFF | 0x8000 | SRAM1 | Mirror of SRAM1. Hai C2W uses this one for (some) Hai params instead of the former? IOS80 also uses this one for SEEPROM data despite the data being written to the former. |
0xFFFF0000 | 0xFFFFFFFF | 0x10000 | SRAM0 | IOSU kernel SRAM / C2W (cafe2wii) |