KTimer: Difference between revisions

Bond697 (talk | contribs)
Filled in more of KTimer
11.3.0-36
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel synchronization objects]]
class [[KTimer]] extends [[KSynchronizationObject]];
[[Category:Kernel interrupt events]]
class [[KTimer]] extends [[KSynchronizationObject]] and [[KTimeableInterruptEvent]];


Size : 0x3C bytes
Size : 0x3C bytes
Line 19: Line 20:
|-
|-
| 0x8
| 0x8
| u32  
| u32
| Unknown
| Count of KThreads that sync with this object - number of nodes in the linked list below
|-
|-
| 0xC
| 0xC
| u32
| KLinkedListNode*
| Pointer to timer data node
| Pointer to first KLinkedListNode in node list of KThreads that sync with this object
|-
|-
| 0x10
| 0x10
| u32
| KLinkedListNode*
| Pointer identical to the one above
| Pointer to last KLinkedListNode in node list of KThreads that sync with this object
|-
|-
| 0x14
| 0x14
| u32
| [[KTimeableInterruptEvent]]
| Pointer to smaller vtable
| Interrupt event (*this) to be used with [[KTimerAndWDTManager]] holding its desired time point (relative to the CPU power-on) in CPU ticks (when handling its list of [[KTimableInterruptEvent]] instances).
Gets incremented at each interval
|-
|-
| 0x18
| 0x24
| u32
| u8
| Pointer to unknown object type
| Timer is signaled
|-
| 0x1C
| u32
| Unknown
|-
|-
| 0x20
| 0x25
| u32
| u8
| Unknown
| Timer reset type (one shot, sticky, pulse)
|-
|-
| 0x24
| 0x26
| u32
| u16
| Unknown
| Starting from [[11.3.0-36]]: set to 0 prior to removing the timer from the [[KTimerAndWDTManager]] queue, set to 1 just after that.
|-
|-
| 0x28
| 0x28
| s64  
| s64  
| Interval
| Interval in nanoseconds
|-
|-
| 0x30
| 0x30
| s64
| s64
| Initial
| Current value in nanoseconds: current system uptime + user-specified time offset, updated at each interval
|-
|-
| 0x38
| 0x38
Line 62: Line 60:
| Owner
| Owner
|-
|-
|}
Negative intervals and time offsets are considered null.