Abstract base class for KEventInterruptEvent and KSemaphoreInterruptEvent, to be used with svcBindInterrupt.
+
Abstract class which is a base class for [[KEvent]] and [[KSemaphore]], 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.
+
Semaphores cannot be bound to level high ("rising edge") active interrupts.
−
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.
+
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 parent object. In the case of KSemaphoreInterruptEvent this also increment the parent semaphore's count.
+
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.