Difference between revisions of "KTimeableInterruptEvent"

From 3dbrew
Jump to navigation Jump to search
m
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
+
[[Category:Kernel interrupt events]]
 
class [[KTimeableInterruptEvent]] extends [[KSynchronizationInterruptEvent|KSynchronizationInterruptEvent]]
 
class [[KTimeableInterruptEvent]] extends [[KSynchronizationInterruptEvent|KSynchronizationInterruptEvent]]
  
 
Size : 0x10 bytes
 
Size : 0x10 bytes
  
Abstract base class for KThreadInterruptEvent and KTimerInterruptEvent (which do not define any additional attributes nor methods).
+
Abstract class used as base for [[KThread]], [[KTimer]], and the dummy subclass of the attribute at offset 0x10 of [[KTimerAndWDTManager]].
 +
Instances of these classes are kept track of by the [[KTimerAndWDTManager]].
 +
 
 +
As of [[11.3.0-36]], a second virtual method was added to decide whether to remove an object from the list of objects tracked by the [[KTimerAndWDTManager]] instance, see changelog.
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 17: Line 20:
 
|-
 
|-
 
| 0x4
 
| 0x4
| [[KSynchronizationObject]] *
+
| [[KSynchronizationInterruptEvent]] *
| For KThreadInterruptEvent instances, pointer to the object the thread is waiting on
+
| Next interrupt event (associated with the current one). The linked list represented by this attribute can contain cycles.
 +
For [[KThread]] instances, this is usually a [[KTimer]], and vice-versa
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| s64
 
| s64
| Suspend time for object
+
| Desired time point (relative to the CPU power-on) in CPU ticks for [[KTimerAndWDTManager]] when it's handling its list of [[KTimeableInterruptEvent]] instances
 
|}
 
|}

Latest revision as of 00:54, 12 February 2017

class KTimeableInterruptEvent extends KSynchronizationInterruptEvent

Size : 0x10 bytes

Abstract class used as base for KThread, KTimer, and the dummy subclass of the attribute at offset 0x10 of KTimerAndWDTManager. Instances of these classes are kept track of by the KTimerAndWDTManager.

As of 11.3.0-36, a second virtual method was added to decide whether to remove an object from the list of objects tracked by the KTimerAndWDTManager instance, see changelog.

Offset Type Description
0x0 void ** Pointer to vtable
0x4 KSynchronizationInterruptEvent * Next interrupt event (associated with the current one). The linked list represented by this attribute can contain cycles.

For KThread instances, this is usually a KTimer, and vice-versa

0x8 s64 Desired time point (relative to the CPU power-on) in CPU ticks for KTimerAndWDTManager when it's handling its list of KTimeableInterruptEvent instances