Difference between revisions of "KThread"

From 3dbrew
Jump to navigation Jump to search
m
Line 27: Line 27:
 
|-
 
|-
 
| 0x88
 
| 0x88
| u32
+
| u32*
| X = Y-0xB0 (sizeof(KThread) ?) (X-8=thread's SVC stack top ?)
+
| ptr = *(KThread+0x8C) - 0xB0
 
|-
 
|-
 
| 0x8C
 
| 0x8C
| u32
+
| u32*
| Y
+
| End-address of the page for this thread allocated in the [[Memory_layout|0xFF4XX000]] region. Thus, if the beginning of this mapped page is 0xFF401000, this ptr would be 0xFF402000.
 
|-
 
|-
 
| 0xA0
 
| 0xA0

Revision as of 16:27, 17 October 2013

class KThread extends KSynchronizationObject;

Size : 0xB0 bytes

Offset Type Description
0x0 u32 Pointer to vtable
0x4 u32 Reference count
0x80 KProcess* Process the thread belongs to (virtual address)
0x84 u32 Thread id
0x88 u32* ptr = *(KThread+0x8C) - 0xB0
0x8C u32* End-address of the page for this thread allocated in the 0xFF4XX000 region. Thus, if the beginning of this mapped page is 0xFF401000, this ptr would be 0xFF402000.
0xA0 KThread* Previous ? (virtual address)
0xA4 KThread* Next ? (virtual address)