Memory Management

Revision as of 18:47, 11 October 2015 by Bond697 (talk | contribs)

How The Kernel Allocates And Tracks Memory

HeapChunkHeader

SizeĀ : 0xC bytes

Offset Type Description
0x0 u32 Size in pages
0x4 HeapChunkHeader* Next
0x8 HeapChunkHeader* Prev


RegionData

SizeĀ : 0x10 bytes

Offset Type Description
0x0 HeapChunkHeader*
0x4 HeapChunkHeader*
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 GetSystemInfo
0x44 u32 ?
0x48 KThread* Thread operating on region data
0x4C s16 Error info for thread listed above