Changes

Jump to navigation Jump to search
242 bytes added ,  16:11, 10 December 2016
no edit summary
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 KEventInterruptEvent, KSemaphoreInterruptEvent, KMutexInterruptEvent (?)
+
Abstract class used as base for [[KScheduler]], [[KFIQInterruptEvent]], [[KUserBindableInterruptEvent]], [[KThread]], etc.
 
  −
Instances of this class most often have a [[KSynchronizationObject]] parent object, 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, which signals the parent object, is executed.  
+
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
 
|}
 
|}
516

edits

Navigation menu