Difference between revisions of "Memory Management"
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
= How The Kernel Allocates And Tracks Memory = | = How The Kernel Allocates And Tracks Memory = | ||
− | == | + | == MemoryBlockHeader == |
Size : 0xC bytes | Size : 0xC bytes | ||
Line 7: | Line 7: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! | + | ! Offset |
! Type | ! Type | ||
− | ! | + | ! Description |
|- | |- | ||
| 0x0 | | 0x0 | ||
Line 16: | Line 16: | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
− | | | + | | MemoryBlockHeader* |
| Next | | Next | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | | + | | MemoryBlockHeader* |
| Prev | | Prev | ||
|} | |} | ||
Line 36: | Line 36: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | MemoryBlockHeader* |
| | | | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
− | | | + | | MemoryBlockHeader* |
| | | | ||
|- | |- |
Revision as of 06:04, 15 October 2015
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 : 0x10 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 |