Memory Management

Revision as of 06:04, 15 October 2015 by Bond697 (talk | contribs)

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