KSchedulableInterruptEvent: Difference between revisions

No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Kernel objects]]
[[Category:Kernel interrupt events]]
class [[KSchedulableInterruptEvent]] extends [[KSynchronizationInterruptEvent|KSynchronizationInterruptEvent]]
class [[KSchedulableInterruptEvent]] extends [[KSynchronizationInterruptEvent|KSynchronizationInterruptEvent]]


Size : 0x8 bytes
Size : 0x8 bytes


Abstract base class for [[KScheduler]], [[KFIQInterruptEvent]], KEventInterruptEvent, KSemaphoreInterruptEvent, KMutexInterruptEvent (?)
Abstract class used as base for [[KScheduler]], [[KFIQInterruptEvent]], [[KUserBindableInterruptEvent]], [[KThread]], etc.
 
Instances of this class associated to instances of [[KSynchronizationObject]] are contained by them, in which they are located at offset 0x14.
   
   
The virtual interrupt function of this class returns an instance to <code>this</code>. After rescheduling, the second virtual function is executed. For classes instances having a parent object, the latter is signaled.  
The virtual interrupt function of this class returns an instance to <code>this</code> (as [[KSchedulableInterruptEvent]]). After being added to the [[KSchedulableInterruptEventLinkedList]] instance of the current core and picked up by its kernel thread, the second virtual function is executed. The instances of the subclasses that also inherit from [[KSynchronizationObject]] are signaled as well.  


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 21: Line 19:
|-
|-
| 0x4
| 0x4
| [[KSynchronizationObject]] *
| [[KSynchronizationInterruptEvent]] *
| Pointer to an object synchronizing on the current one
| Next interrupt event (associated with the current one), usually a [[KSchedulableInterruptEvent]]. The linked list represented by this attribute can contain cycles
|}
|}