Difference between revisions of "KProcessHwInfo"

From 3dbrew
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.
  
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 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