KCodeSet: Difference between revisions
No edit summary |
mNo edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel auto objects]] | ||
class [[KCodeSet]] extends [[KAutoObject]]; | class [[KCodeSet]] extends [[KAutoObject]]; | ||
Line 12: | Line 11: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
| | | u32 | ||
| | | Pointer to vtable | ||
|- | |||
| 0x4 | |||
| u32 | |||
| Reference count | |||
|- | |- | ||
| 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 55: | Line 58: | ||
| TitleID | | 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: | 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: | ||
Line 72: | Line 78: | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| [[ | | u32 | ||
| | | [[KBlockInfo]] count | ||
|- | |||
| 0xC | |||
| [[KLinkedListNode]]* | |||
| Pointer to first KLinkedListNode in the list of objects | |||
|- | |||
| 0x10 | |||
| [[KLinkedListNode]]* | |||
| Pointer to last KLinkedListNode in the list of objects | |||
|} | |} |