KSchedulableInterruptEvent: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(9 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 KEventInterruptEvent, KSemaphoreInterruptEvent, KMutexInterruptEvent (?)
Abstract class used as base for [[KScheduler]], [[KFIQInterruptEvent]], [[KUserBindableInterruptEvent]], [[KThread]], etc.
 
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 19: 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
|}
|}

Latest revision as of 16:11, 10 December 2016

class KSchedulableInterruptEvent extends KSynchronizationInterruptEvent

Size : 0x8 bytes

Abstract class used as base for KScheduler, KFIQInterruptEvent, KUserBindableInterruptEvent, KThread, etc.

The virtual interrupt function of this class returns an instance to this (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.

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