Memory Management
How The Kernel Allocates And Tracks Memory
MemoryBlockHeader
SizeĀ : 0xC bytes
Offset | Type | Description |
---|---|---|
0x0 | u32 | Size in pages |
0x4 | MemoryBlockHeader* | Next |
0x8 | MemoryBlockHeader* | Prev |
RegionData
SizeĀ : 0x10 bytes
Offset | Type | Description |
---|---|---|
0x0 | MemoryBlockHeader* | |
0x4 | MemoryBlockHeader* | |
0x8 | u32 | Region start |
0xC | u32 | Region size |
FCRAM Region Data
SizeĀ : 0x50 bytes
Offset | Type | Description |
---|---|---|
0x0 | RegionData | RegionData for app memory |
0x10 | RegionData | RegionData for sys memory |
0x20 | RegionData | RegionData for base memory |
0x30 | u32 | Ptr to start of FCRAM region config |
0x34 | u32 | FCRAM start |
0x38 | u32 | FCRAM size in pages |
0x3C | u32 | Base mem start in FCRAM |
0x40 | u32 | Physical FCRAM memory used by the kernel (used by svcGetSystemInfo) |
0x44 | u32 | ? |
0x48 | KThread* | Thread operating on region data |
0x4C | s16 | Error info for thread listed above |