Difference between revisions of "KBaseInterruptEvent"

From 3dbrew
Jump to navigation Jump to search
(Created page with "Abstract base class for all interrupt events. Size: 0x4 bytes {| class="wikitable" border="1" |- ! Offset ! Type ! Description |- | 0x0 | void ** | Pointer to vtable |}...")
 
m
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
[[Category:Kernel interrupt events]]
 
Abstract base class for all interrupt events.
 
Abstract base class for all interrupt events.
  
Line 18: Line 19:
 
If either NULL or 1 is returned, nothing will be signaled. If NULL is returned, no post-interrupt rescheduling will be done.
 
If either NULL or 1 is returned, nothing will be signaled. If NULL is returned, no post-interrupt rescheduling will be done.
  
The kernel uses the [[KSchedulableInterruptEvent|KEventInterruptEvent]] field of a [[KEvent|KEvent]] when binding public interrupts per svcBindInterrupt request.
+
The kernel uses the [[KUserBindableInterruptEvent|KEventInterruptEvent]] field of a [[KEvent|KEvent]] when binding public interrupts per svcBindInterrupt request.

Latest revision as of 01:35, 5 December 2016

Abstract base class for all interrupt events.

Size: 0x4 bytes

Offset Type Description
0x0 void ** Pointer to vtable

This abstract base class defines virtual KSchedulableInterruptEvent* handleInterruptAndGetKSchedulableInterruptEvent(u32 interruptID) = 0. It's actually the function called by the IRQ handler, which returns a KSchedulableInterruptEvent to call the second virtual method of (which signals the object) after a reschedule.

If either NULL or 1 is returned, nothing will be signaled. If NULL is returned, no post-interrupt rescheduling will be done.

The kernel uses the KEventInterruptEvent field of a KEvent when binding public interrupts per svcBindInterrupt request.