Changes

1,340 bytes added ,  21:17, 4 December 2016
Created page with "Category:Kernel objects class KTimerAndWDTManager extends KSchedulableInterruptEvent Size : 0x28 bytes This is the interrupt event obj..."
[[Category:Kernel objects]]
class [[KTimerAndWDTManager]] extends [[KSchedulableInterruptEvent|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 returns 0 if it was called with interuptID = 29 or 30, otherwise the object itself (does the latter ever happen?).

There is only one instance of this class (everything uses the timer and watchdog timer of core1).

{| class="wikitable" border="1"
|-
! 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
| [[KTimeableInterruptEvent|KTimerAndWDTManagerInterruptEvent]]
| Instance of a dummy subclass of [[KTimeableInterruptEvent]] used to keep track of [[KTimeableInterruptEvent|KTimerInterruptEvents]] and [[KTimeableInterruptEvent|KThreadInterruptEvent]] of suspended threads
|-
| 0x20
| [[KRecursiveLock]]
| Recursive lock
|}
516

edits