Memory Management: Difference between revisions
No edit summary |
|||
Line 213: | Line 213: | ||
== RegionDescriptor == | == RegionDescriptor == | ||
Size : 0x10 bytes | Size: 0x10-bytes pre-[[11.0.0-33|11.0.0-X]], 0x20-bytes starting with [[11.0.0-33|11.0.0-X]]. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 236: | Line 236: | ||
| u32 | | u32 | ||
| Region size | | Region size | ||
|- | |||
| 0x10 | |||
| 0x10-byte block. | |||
| This is the "key" used with the kernel heap MAC implemented with [[11.0.0-33|11.0.0-X]]. | |||
|} | |} | ||
Line 241: | Line 245: | ||
== FCRAM Region Descriptor == | == FCRAM Region Descriptor == | ||
Size : 0x50 bytes | Size: 0x50-bytes pre-[[11.0.0-33|11.0.0-X]], 0x80-bytes starting with [[11.0.0-33|11.0.0-X]]. | ||
X = RegionDescriptor_size*3. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 253: | Line 259: | ||
| RegionDescriptor for app memory | | RegionDescriptor for app memory | ||
|- | |- | ||
| | | RegionDescriptor_size*1 | ||
| RegionDescriptor | | RegionDescriptor | ||
| RegionDescriptor for sys memory | | RegionDescriptor for sys memory | ||
|- | |- | ||
| | | RegionDescriptor_size*2 | ||
| RegionDescriptor | | RegionDescriptor | ||
| RegionDescriptor for base memory | | RegionDescriptor for base memory | ||
|- | |- | ||
| | | X + 0x0 | ||
| u32 | | u32 | ||
| Ptr to start of FCRAM region descriptor | | Ptr to start of FCRAM region descriptor | ||
|- | |- | ||
| | | X + 0x4 | ||
| u32 | | u32 | ||
| FCRAM start | | FCRAM start | ||
|- | |- | ||
| | | X + 0x8 | ||
| u32 | | u32 | ||
| FCRAM size in pages | | FCRAM size in pages | ||
|- | |- | ||
| | | X + 0xC | ||
| u32 | | u32 | ||
| Base memory start in FCRAM | | Base memory start in FCRAM | ||
|- | |- | ||
| | | X + 0x10 | ||
| u32 | | u32 | ||
| Count of physical FCRAM used by the kernel, in bytes. (used by [[SVC|svcGetSystemInfo]]) | | Count of physical FCRAM used by the kernel, in bytes. (used by [[SVC|svcGetSystemInfo]]) | ||
|- | |- | ||
| | | X + 0x14 | ||
| u32 | | u32 | ||
| ? | | ? | ||
|- | |- | ||
| | | X + 0x18 | ||
| KThread* | | KThread* | ||
| Thread operating on region data | | Thread operating on region data | ||
|- | |- | ||
| | | X + 0x1C | ||
| s16 | | s16 | ||
| Error info for thread listed above | | Error info for thread listed above | ||
|- | |- | ||
| | | X + 0x1E | ||
| u16 | | u16 | ||
| Alignment | | Alignment |