Changes

1,562 bytes added ,  01:02, 28 December 2016
Created page with "Category:Kernel objects 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..."
[[Category:Kernel objects]]
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

{| class="wikitable" border="1"
|-
! 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

{| class="wikitable" border="1"
|-
! 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
|}
516

edits