Difference between revisions of "KUserBindableInterruptEvent"
m |
|||
Line 8: | Line 8: | ||
It appears that semaphores were originally planned to be bindable by svcBindInterrupt (except for the FIQ abstraction interrupt, SGI #15). The sole reason preventing semaphores to be used with svcBindInterrupt is a type check. | It appears that semaphores were originally planned to be bindable by svcBindInterrupt (except for the FIQ abstraction interrupt, SGI #15). The sole reason preventing semaphores to be used with svcBindInterrupt is a type check. | ||
− | For public interrupts (i.e. anything else than SGI #15 in this case), svcBindInterrupts sets the flag that indicates that the interrupt shall be | + | For public interrupts (i.e. anything else than SGI #15 in this case), svcBindInterrupts 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 parent object. In the case of KSemaphoreInterruptEvent this also increment the parent semaphore's count. |
{| class="wikitable" border="1" | {| class="wikitable" border="1" |
Revision as of 02:31, 5 December 2016
class KUserBindableInterruptEvent extends KSchedulableInterruptEvent
Size : 0xC bytes
Abstract base class for KEventInterruptEvent and KSemaphoreInterruptEvent, to be used with svcBindInterrupt.
It appears that semaphores were originally planned to be bindable by svcBindInterrupt (except for the FIQ abstraction interrupt, SGI #15). The sole reason preventing semaphores to be used with svcBindInterrupt is a type check.
For public interrupts (i.e. anything else than SGI #15 in this case), svcBindInterrupts 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 parent object. In the case of KSemaphoreInterruptEvent this also increment the parent 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 |