Difference between revisions of "KThread"
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
| u32 | | u32 | ||
| Reference count | | Reference count | ||
+ | |- | ||
+ | | 0x40 | ||
+ | | u32 | ||
+ | | Arbitration ??? | ||
+ | |- | ||
+ | | 0x48 | ||
+ | | u32 | ||
+ | | Arbitration ??? | ||
+ | |- | ||
+ | | 0x4C | ||
+ | | u32 | ||
+ | | Arbitration address | ||
|- | |- | ||
| 0x6C | | 0x6C | ||
Line 40: | Line 52: | ||
| 0xA0 | | 0xA0 | ||
| KThread* | | KThread* | ||
− | | Previous | + | | Previous (virtual address) |
|- | |- | ||
| 0xA4 | | 0xA4 | ||
| KThread* | | KThread* | ||
− | | Next | + | | Next (virtual address) |
+ | |- | ||
+ | | 0xA8 | ||
+ | | struct { KThread* first; KThread* last; } ptr | ||
+ | | Pointer to linked list that has stolen it, or 0 if in normal list | ||
|} | |} |
Revision as of 12:33, 29 May 2014
class KThread extends KSynchronizationObject;
Size : 0xB0 bytes
Offset | Type | Description |
---|---|---|
0x0 | u32 | Pointer to vtable |
0x4 | u32 | Reference count |
0x40 | u32 | Arbitration ??? |
0x48 | u32 | Arbitration ??? |
0x4C | u32 | Arbitration address |
0x6C | s32 | Thread priority |
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) |
0xA8 | struct { KThread* first; KThread* last; } ptr | Pointer to linked list that has stolen it, or 0 if in normal list |