KInterruptEventMailbox

KInterruptEventMailbox

Size : 0x14 bytes

There are only two instances of this class. The first mailbox contains pointers to KProcess instances (viewed as KSendableInterruptEvent), and its handling thread has a priority of 0; whereas the second mailbox contains pointers to KThread instances (viewed as KSendableInterruptEvent), and DMA-related interrupt events, and its handling thread has a priority of 16.

The handling thread executes the handler function, i.e. the first virtual function (then removes the interrupt event from the list) of all the KSendableInterruptEvent instances the mailbox contains. When that list is empty, it sets the mailbox’s “is busy” flag and unschedules itself.

OffsetTypeDescription
0x0u32Mailbox ID
0x4KSendableInterruptEvent *First interrupt event
0x8KSendableInterruptEvent *Last interrupt event
0xCu8Mailbox is busy (and not empty)
0xDu8[3]Padding
0x10KThread * constKernel thread handling this object

Category: Kernel objects