Difference between revisions of "KSchedulableInterruptEventLinkedList"
Jump to navigation
Jump to search
m |
m |
||
Line 2: | Line 2: | ||
Size : 0x10 bytes | Size : 0x10 bytes | ||
− | There is exactly one instance of this | + | There is exactly one instance of this class per core. |
On interrupt requests, when the interrupt handler of a [[KSchedulableInterruptEvent]] returns anything else than NULL or 1, it is added to this list. | On interrupt requests, when the interrupt handler of a [[KSchedulableInterruptEvent]] returns anything else than NULL or 1, it is added to this list. |
Latest revision as of 17:57, 10 December 2016
Size : 0x10 bytes
There is exactly one instance of this class per core.
On interrupt requests, when the interrupt handler of a KSchedulableInterruptEvent returns anything else than NULL or 1, it is added to this list.
After being added to this list, the thread handling this object (which is a thread created by the kernel main function) is scheduled and the context is switched. That thread pops the first interrupt event from the list and execute its second virtual function, then unschedules itself and switches context back.
Offset | Type | Description |
---|---|---|
0x0 | KSchedulableInterruptEvent * | First interrupt event |
0x4 | KSchedulableInterruptEvent * | Last interrupt event |
0x8 | u32 | Unused |
0xC | KThread * const | Kernel thread of priority 0 handling this object |