Line 1: |
Line 1: |
| [[Category:Kernel objects]] | | [[Category:Kernel objects]] |
| + | Struct inside the [[KProcess]] object. Starts at KProcess+0x1C. |
| | | |
− | Struct inside the KProcess object. Starts at KProcess+0x1C.
| + | Size : 0x4C bytes (on N3DS) |
| | | |
− | Size : 0x4C bytes
| + | Offsets above 0x8 are only for N3DS. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 12: |
Line 13: |
| |- | | |- |
| | 0x0 | | | 0x0 |
− | | | + | | [[KThread]]* |
− | | | + | | Thread currently running kernel code to act on the process |
| |- | | |- |
| | 0x4 | | | 0x4 |
− | | | + | | s16 |
− | | | + | | This is used to record errors that occur when the thread above is set as the thread running code for the process |
| + | |- |
| + | | 0x6 |
| + | | s16 |
| + | | Unused, alignment |
| |- | | |- |
| | 0x8 | | | 0x8 |
− | | | + | | u32[number of cores] |
− | | | + | | TLB entries for process need invalidating on core(i) |
− | |-
| |
− | | 0xC
| |
− | |
| |
− | |
| |
− | |-
| |
− | | 0x10
| |
− | |
| |
− | | New3DS only
| |
− | |-
| |
− | | 0x14
| |
− | |
| |
− | | New3DS only
| |
| |- | | |- |
| | 0x18 | | | 0x18 |
Line 40: |
Line 33: |
| |- | | |- |
| | 0x1C | | | 0x1C |
− | | KLinkedListNode* | + | | [[KLinkedListNode]]* |
| | First KLinkedListNode in list of KMemoryBlocks | | | First KLinkedListNode in list of KMemoryBlocks |
| |- | | |- |
| | 0x20 | | | 0x20 |
− | | KLinkedListNode* | + | | [[KLinkedListNode]]* |
| | Last KLinkedListNode in list of KMemoryBlocks | | | Last KLinkedListNode in list of KMemoryBlocks |
| |- | | |- |
| | 0x24 | | | 0x24 |
− | | | + | | u32 |
− | | | + | | Unknown |
| |- | | |- |
| | 0x28 | | | 0x28 |
− | | | + | | u32 |
− | | | + | | Unknown |
| |- | | |- |
| | 0x2C | | | 0x2C |
− | | u32 | + | | void* |
| | Translation table base | | | Translation table base |
| |- | | |- |
Line 62: |
Line 55: |
| | u8 | | | u8 |
| | Context ID | | | Context ID |
| + | |- |
| + | | 0x31 |
| + | | bool |
| + | | Indicates that a global TLB flush is needed |
| |- | | |- |
| | 0x32 | | | 0x32 |
Line 68: |
Line 65: |
| |- | | |- |
| | 0x34 | | | 0x34 |
− | | | + | | u32 |
− | | | + | | Unknown |
| |- | | |- |
| | 0x38 | | | 0x38 |
− | | u32 | + | | void* |
| | End of userland memory for process | | | End of userland memory for process |
| |- | | |- |
| | 0x3C | | | 0x3C |
− | | u32 | + | | void* |
− | | Linear memory start for process | + | | Linear memory start for process (since [[8.0.0-18]]) |
| |- | | |- |
| | 0x40 | | | 0x40 |
− | | | + | | u32 |
− | | | + | | Unknown (since [[8.0.0-18]]) |
| |- | | |- |
| | 0x44 | | | 0x44 |
Line 88: |
Line 85: |
| |- | | |- |
| | 0x48 | | | 0x48 |
− | | u32 | + | | u32* |
− | | MMU table address in kernel FCRAM vmem | + | | Pointer to the MMU table in kernel FCRAM vmem |
| |} | | |} |