KCoreContext
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Size: 0x9000 bytes (effective size: 0x6000 bytes)
There's one instance of this structure per core. The instance for the current core is aliased at 0xFFFF1000
Offset | Type | Description |
---|---|---|
0x0 | u32[0x400] | N/A (unmapped memory) |
0x1000 | u32[0x1000] | L1 translation table (TTB1).
The unused part of it is used as stack for exception modes other than supervisor |
0x5000 | u32[0x400] | N/A |
0x6000 | KThreadContext | Context for the scheduler's thread |
0x7000 | u32[0x400] | N/A |
0x8000 | KCoreObjectContext | Currently used objects, see below |
KCoreObjectContext
Size: 0x1000 bytes
Offset | Type | Description |
---|---|---|
0x0 | KThread* | Pointer to the current thread for this core |
0x4 | KProcess* | Pointer to the current process for this core |
0x8 | KScheduler* | Pointer to the current scheduler for this core |
0xC | KSchedulableInterruptEventLinkedList* | Pointer to the current instance of KSchedulableInterruptEventLinkedList for this core |
0x10 | KThread* | Pointer to the last thread having encountered an exception for this core, used when dumping FPU registers |
0x14 | u8[4] | Padding ? |
0x18 | KThread | Scheduler thread instance |
0xC8 | KScheduler | Scheduler instance |
0x2F0 | KSchedulableInterruptEventLinkedList | KSchedulableInterruptEventLinkedList instance |
0x300 | u8[0x874] | Unused ? |
0xB74 | u32[0x123] | Unknown stack |