KCodeSet: Difference between revisions

Neobrain (talk | contribs)
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
| [[KAutoObject]]
| u32
| Base object
| Pointer to vtable
|-
| 0x4
| u32
| Reference count
|-
|-
| 0x8
| 0x8
| Struct size is 0x14
| KCodeSetMemDescriptor
| Memory section info for .text
| Memory section info for .text
|-
|-
| 0x1C
| 0x1C
| Struct size is 0x14
| KCodeSetMemDescriptor
| Memory section info for .rodata
| Memory section info for .rodata
|-
|-
| 0x30
| 0x30
| Struct size is 0x14
| 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
| [[KLinkedList]]
| u32
| List of [[KBlockInfo]] objects for this section
| [[KBlockInfo]] count
|-
| 0xC
| [[KLinkedListNode]]*
| Pointer to first KLinkedListNode in the list of objects
|-
| 0x10
| [[KLinkedListNode]]*
| Pointer to last KLinkedListNode in the list of objects
|}
|}