Difference between revisions of "Memory Management"

From 3dbrew
Jump to navigation Jump to search
(Created page with "= How The Kernel Allocates And Tracks Memory = == HeapChunkHeader == Size : 0xC bytes {| class="wikitable" border="1" |- ! Offset ! Type ! Description |- | 0x0 | u32 | Size ...")
 
Line 25: Line 25:
  
  
== Region Data ==
+
== RegionData ==
  
 
Size : 0x10 bytes
 
Size : 0x10 bytes
Line 50: Line 50:
 
| u32
 
| u32
 
| Region size
 
| Region size
 +
|}
 +
 +
 +
== FCRAM Region Data ==
 +
 +
Size : 0x10 bytes
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
!  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
 
|}
 
|}

Revision as of 19:47, 11 October 2015

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