KTimerAndWDTManager
class KTimerAndWDTManager extends KSchedulableInterruptEvent
Size : 0x28 bytes
This is the interrupt event object associated with SGIs #29 and #30 (timer and watchdog timer interrupts). It is also what allows GetSystemTick, SleepThread, KTimers, etc. to work.
The interrupt handler of this object updates its counter attributes and returns 0 if it was called with interuptID = 31 (or any invalid interruptID value) (Watchdog timer underflow), otherwise it does nothing and returns the object itself (timer interrupt).
There is only one instance of this class (everything uses the timer and watchdog timer of core1).
Offset | Type | Description |
---|---|---|
0x0 | void ** | Pointer to vtable |
0x4 | KSynchronizationInterruptEvent * | Next interrupt event (associated with the current one) of type KSchedulableInterruptEvent. The linked list represented by this attribute can contain cycles |
0x8 | u32 | Watchdog timer underflow counter |
0xC | u32 | Previous value of the underflow counter |
0x10 | KTimerAndWDTManagerInterruptEvent | Instance of a dummy subclass of KTimeableInterruptEvent used to keep track of KTimerInterruptEvents and KThreadInterruptEvent of suspended threads |
0x20 | KRecursiveLock | Recursive lock |