KThread
class KThread extends KSynchronizationObject;
Size : 0xB0 bytes
| Offset | Type | Description |
|---|---|---|
| 0x0 | u32 | Pointer to vtable |
| 0x4 | u32 | Reference count |
| 0x3C | u32 | Thread priority |
| 0x40 | u32 | Arbitration ??? |
| 0x48 | u32 | Arbitration ??? |
| 0x4C | u32 | Arbitration address |
| 0x6C | s32 | Thread priority |
| 0x70 | s32 | Processor that created the thread |
| 0x80 | KProcess* | Process the thread belongs to (virtual address) |
| 0x84 | u32 | Thread id |
| 0x88 | u32* | Ptr to svc mode register storage for KThread. |
| 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. Thread context page - used for thread svc stack, preserving svc mode registers and VFP exception register for thread. |
| 0x90 | s32 | Ideal processor (processorid value from svcCreateThread) |
| 0x94 | void* | Ptr to threadlocalstorage |
| 0x98 | void* | Ptr to threadlocalstorage in FCRAM via kernel vmem |
| 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 |