KCoreContext

KCoreContext

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

OffsetTypeDescription
0x0u32[0x400]N/A (unmapped memory)
0x1000u32[0x1000]L1 translation table (TTB1). The unused part of it is used as stack for exception modes other than supervisor
0x5000u32[0x400]N/A
0x6000KThreadContextContext for the scheduler’s thread
0x7000u32[0x400]N/A
0x8000KCoreObjectContextCurrently used objects, see below

KCoreObjectContext

Size: 0x1000 bytes

OffsetTypeDescription
0x0KThread*Pointer to the current thread for this core
0x4KProcess*Pointer to the current process for this core
0x8KScheduler*Pointer to the current scheduler for this core
0xCKSchedulableInterruptEventLinkedList*Pointer to the current instance of KSchedulableInterruptEventLinkedList for this core
0x10KThread*Pointer to the last thread having encountered an exception for this core, used when dumping FPU registers
0x14u8[4]Padding ?
0x18KThreadScheduler thread instance
0xC8KSchedulerScheduler instance
0x2F0KSchedulableInterruptEventLinkedListKSchedulableInterruptEventLinkedList instance
0x300u8[0x874]Unused ?
0xB74u32[0x123]Unknown stack

Category:Kernel objects