Difference between revisions of "KUserBindableInterruptEvent"
Jump to navigation
Jump to search
m |
(( ͡° ͜ʖ ͡°) (2)) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
Size : 0xC bytes | Size : 0xC bytes | ||
− | Abstract base class for | + | Abstract class which is a base class for [[KEvent]] and [[KSemaphore]], to be used with svcBindInterrupt. |
− | + | Semaphores cannot be bound to level high ("rising edge") active interrupts. | |
− | For public interrupts (i.e. anything else than SGI #15 in this case), | + | For public interrupts (i.e. anything else than SGI #15 in this case), svcBindInterrupt sets the flag that indicates that the interrupt shall be disabled after each time the interrupt is received. |
− | The second virtual function | + | The second virtual function reenables the interrupt (using the interrupt ID) and signals the object (as synchronization object). In the case of KSemaphore this also increments the semaphore's count. |
{| class="wikitable" border="1" | {| class="wikitable" border="1" |
Latest revision as of 20:10, 10 December 2016
class KUserBindableInterruptEvent extends KSchedulableInterruptEvent
Size : 0xC bytes
Abstract class which is a base class for KEvent and KSemaphore, to be used with svcBindInterrupt.
Semaphores cannot be bound to level high ("rising edge") active interrupts.
For public interrupts (i.e. anything else than SGI #15 in this case), svcBindInterrupt sets the flag that indicates that the interrupt shall be disabled after each time the interrupt is received.
The second virtual function reenables the interrupt (using the interrupt ID) and signals the object (as synchronization object). In the case of KSemaphore this also increments the semaphore's count.
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 |
0x8 | s32 | Interrupt ID, -1 by default |