VPICD_Set_Int_Request


include vpicd.inc

mov     eax, IRQHandle
mov     ebx, VMHandle
VxDcall VPICD_Set_Int_Request

Sets a virtual interrupt request for the specified IRQ and virtual machine. Setting the request causes the system to simulate an interrupt. Although the simulation may occur immediately, in many cases it may not until a later point in time. Uses Flags.

IRQHandle

Handle of the IRQ to set.

VMHandle

Handle of the virtual machine.

The interrupt is not simulated immediately if any of the following conditions are present:

However, since the interrupt may be simulated immediately, a virtual device that has a virtual interrupt handler must be able to handle a call to the handler before this service returns.

Setting an interrupt request does not guarantee that the interrupt will be simulated. For example, if the VM has masked the interrupt and never unmasks it, the interrupt is never simulated. Also, a call to the VPICD_Clear_Int_Request service made before the virtual interrupt is simulated prevents the interrupt simulation.

The virtual VPIC device simulates a level-triggered PIC. This means that once a virtual EOI occurs, another interrupt will be simulated immediately unless the virtual interrupt request is cleared.