Memory map
Revision as of 02:16, 26 January 2018 by QuarkTheAwesome (talk | contribs) (link Espresso regs in memory map)
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 | ?????? | ?????? | MMIO | Latte registers (shared with Espresso) |
0x0D006000 | 0x0D006FFF | 0x1000 | 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 (MMC) |
0x0D110000 | 0x0D11FFFF | 0x10000 | MMIO | SDIO registers |
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 | ?????? | ?????? | MMIO | Latte registers |
0x0D8B0800 | ?????? | ?????? | MMIO | AHMN registers |
0x0D8B4000 | ?????? | ?????? | MMIO | Memory Controller registers |
0x10000000 | 0x100FFFFF | 0x100000 | MEM2 | Unknown (IOSU) |
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) |
0xFFFF0000 | 0xFFFFFFFF | 0x10000 | SRAM0 | IOSU kernel SRAM / C2W (cafe2wii) |