Difference between revisions of "KProcessHwInfo"
Jump to navigation
Jump to search
(Created page with "Category:Kernel objects Struct inside the KProcess object. Starts at KProcess+0x1C. Size : 0x4C bytes {| class="wikitable" border="1" |- ! Offset ! Type ! Description ...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Kernel objects]] | [[Category:Kernel objects]] | ||
+ | Struct inside the [[KProcess]] object. Starts at KProcess+0x1C. | ||
− | + | Size : 0x4C bytes (on N3DS) | |
− | + | Offsets above 0x8 are only for N3DS. | |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 12: | Line 13: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | [[KObjectMutex]] |
− | | | + | | Mutex |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | | + | | u32[number of cores] |
− | | | + | | TLB entries for process need invalidating on core(i) |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x18 | | 0x18 | ||
Line 40: | Line 25: | ||
|- | |- | ||
| 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 | ||
− | | | + | | void* |
| Translation table base | | Translation table base | ||
|- | |- | ||
Line 62: | Line 47: | ||
| u8 | | u8 | ||
| Context ID | | Context ID | ||
+ | |- | ||
+ | | 0x31 | ||
+ | | bool | ||
+ | | Indicates that a global TLB flush is needed | ||
|- | |- | ||
| 0x32 | | 0x32 | ||
Line 68: | Line 57: | ||
|- | |- | ||
| 0x34 | | 0x34 | ||
− | | | + | | u32 |
− | | | + | | Unknown |
|- | |- | ||
| 0x38 | | 0x38 | ||
− | | | + | | void* |
| End of userland memory for process | | End of userland memory for process | ||
|- | |- | ||
| 0x3C | | 0x3C | ||
− | | | + | | 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 77: | ||
|- | |- | ||
| 0x48 | | 0x48 | ||
− | | u32 | + | | u32* |
− | | MMU table | + | | Pointer to the MMU table in kernel FCRAM vmem |
|} | |} |
Latest revision as of 03:44, 4 December 2016
Struct inside the KProcess object. Starts at KProcess+0x1C.
Size : 0x4C bytes (on N3DS)
Offsets above 0x8 are only for N3DS.
Offset | Type | Description |
---|---|---|
0x0 | KObjectMutex | Mutex |
0x8 | u32[number of cores] | TLB entries for process need invalidating on core(i) |
0x18 | u32 | KMemoryBlock count for KProcess |
0x1C | KLinkedListNode* | First KLinkedListNode in list of KMemoryBlocks |
0x20 | KLinkedListNode* | Last KLinkedListNode in list of KMemoryBlocks |
0x24 | u32 | Unknown |
0x28 | u32 | Unknown |
0x2C | void* | Translation table base |
0x30 | u8 | Context ID |
0x31 | bool | Indicates that a global TLB flush is needed |
0x32 | bool | Process is the current running game/app |
0x34 | u32 | Unknown |
0x38 | void* | End of userland memory for process |
0x3C | void* | Linear memory start for process (since 8.0.0-18) |
0x40 | u32 | Unknown (since 8.0.0-18) |
0x44 | u32 | MMU table size |
0x48 | u32* | Pointer to the MMU table in kernel FCRAM vmem |