KProcessHwInfo: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Bond697 (talk | contribs)
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 ..."
 
No edit summary
 
(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.


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
|  
| [[KObjectMutex]]
|  
| Mutex
|-
| 0x4
|
|
|-
|-
| 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 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
| u32
| 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
| 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 77:
|-
|-
| 0x48
| 0x48
| u32
| u32*
| MMU table address in kernel FCRAM vmem
| Pointer to the MMU table in kernel FCRAM vmem
|}
|}

Latest revision as of 04: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