Difference between revisions of "KCodeSet"
Jump to navigation
Jump to search
(Update KBlockInfo data for KCodeSet) |
|||
Line 71: | Line 71: | ||
| 0x8 | | 0x8 | ||
| u32 | | u32 | ||
− | | | + | | KBlockInfo count for section |
|- | |- | ||
| 0xC | | 0xC | ||
Line 81: | Line 81: | ||
| Pointer to KLinkedListNode that holds a pointer to the last KBlockInfo object for that section | | Pointer to KLinkedListNode that holds a pointer to the last KBlockInfo object for that section | ||
|} | |} | ||
+ | |||
+ | Sections where there isn't a large enough memory block available will be split into with multiple memory blocks with a KBlockInfo class for each. |
Revision as of 08:37, 8 February 2015
class KCodeSet extends KAutoObject;
Offset | Type | Description |
---|---|---|
0x0 | u32 | Pointer to vtable |
0x4 | u32 | Reference count |
0x8 | Struct size is 0x14 | Memory section info for .text |
0x1C | Struct size is 0x14 | Memory section info for .rodata |
0x30 | Struct size is 0x14 | Memory section info for .data |
0x44 | u32 | Total .text pages |
0x48 | u32 | Total .rodata pages |
0x4C | u32 | Total RW pages (.bss + .data) |
0x50 | u64 | Process name as 8-byte string |
0x5A | u16 | ? |
0x5C | u64 | Program ID |
Memory section info struct :
Offset | Type | Description |
---|---|---|
0x0 | u32 | Start address (virtual) |
0x4 | u32 | Total pages |
0x8 | u32 | KBlockInfo count for section |
0xC | u32 | Pointer to KLinkedListNode that holds a pointer to the first KBlockInfo object for that section |
0x10 | u32 | Pointer to KLinkedListNode that holds a pointer to the last KBlockInfo object for that section |
Sections where there isn't a large enough memory block available will be split into with multiple memory blocks with a KBlockInfo class for each.