KCodeSet: Difference between revisions
Update KBlockInfo data for KCodeSet |
mNo edit summary |
||
(8 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel auto objects]] | ||
class [[KCodeSet]] extends [[KAutoObject]]; | |||
Size : 0x64 bytes | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 18: | Line 19: | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | KCodeSetMemDescriptor | ||
| Memory section info for .text | | Memory section info for .text | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| | | KCodeSetMemDescriptor | ||
| Memory section info for .rodata | | Memory section info for .rodata | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| | | KCodeSetMemDescriptor | ||
| Memory section info for .data | | Memory section info for .data | ||
|- | |- | ||
Line 44: | Line 45: | ||
| u64 | | u64 | ||
| Process name as 8-byte string | | Process name as 8-byte string | ||
|- | |||
| 0x58 | |||
| u16 | |||
| ? | |||
|- | |- | ||
| 0x5A | | 0x5A | ||
Line 51: | Line 56: | ||
| 0x5C | | 0x5C | ||
| u64 | | u64 | ||
| | | TitleID | ||
|} | |} | ||
=KCodeSetMemDescriptor= | |||
Sections too large to fit into any available memory blocks will be split across multiple memory blocks with a [[KBlockInfo]] instance for each. This is described by the memory section info struct: | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 71: | Line 79: | ||
| 0x8 | | 0x8 | ||
| u32 | | u32 | ||
| KBlockInfo count | | [[KBlockInfo]] count | ||
|- | |- | ||
| 0xC | | 0xC | ||
| | | [[KLinkedListNode]]* | ||
| Pointer to KLinkedListNode | | Pointer to first KLinkedListNode in the list of objects | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
| | | [[KLinkedListNode]]* | ||
| Pointer to KLinkedListNode | | Pointer to last KLinkedListNode in the list of objects | ||
|} | |} | ||