Virtualized IRQ Callback Procedures

A virtual device may specify the following callback procedures when it virtualizes an interrupt:

VID_EOI_Proc

VID_Hw_Int_Proc

VID_IRET_Proc

VID_Mask_Change_Proc

VID_Virt_Int_Proc

The VID_Hw_Int_Proc procedure is required. The other callback procedures are optional and are used to inform a virtual device whenever the state of the virtualized IRQ changes. For example, the VID_Virt_Int_Proc procedure is called whenever an interrupt is simulated into a virtual machine and the VID_Mask_Change_Proc procedure is called whenever a virtual machine masks or unmasks the interrupt.

Callback procedures may modify EAX, EBX, ECX, EDX, ESI, and Flags registers. Although they are called with interrupts disabled, they can enable them. If the procedures perform a lot of processing, interrupts should be enabled.