KTimerAndWDTManager: Difference between revisions

Created page with "Category:Kernel objects class KTimerAndWDTManager extends KSchedulableInterruptEvent Size : 0x28 bytes This is the interrupt event obj..."
 
m typo
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel interrupt events]]
class [[KTimerAndWDTManager]] extends [[KSchedulableInterruptEvent|KSchedulableInterruptEvent]]
class [[KTimerAndWDTManager]] extends [[KSchedulableInterruptEvent|KSchedulableInterruptEvent]]


Size : 0x28 bytes
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.
This is the interrupt event object associated with SGIs #29 and #30 (timer and watchdog timer interrupts). It keeps tracks of the system uptime and manages [[KTimeableInterruptEvent]] instances.


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?).
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).
There is only one instance of this class (everything uses the timer and watchdog timer of core1).
Line 33: Line 33:
|-  
|-  
| 0x10
| 0x10
| [[KTimeableInterruptEvent|KTimerAndWDTManagerInterruptEvent]]
| [[KTimeableInterruptEvent]]
| Instance of a dummy subclass of [[KTimeableInterruptEvent]] used to keep track of [[KTimeableInterruptEvent|KTimerInterruptEvents]] and [[KTimeableInterruptEvent|KThreadInterruptEvent]] of suspended threads
| Instance of a subclass of [[KTimeableInterruptEvent]] used to keep track of all instances of [[KTimeableInterruptEvent]].
Also keeps tracks of the system uptime in CPU ticks, this is updated each time a [[KTimeableInterruptEvent]] is added to its list
|-
|-
| 0x20
| 0x20