VID_Hw_Int_Proc

include vpicd.inc

mov     eax, IRQHandle
mov     ebx, VMHandle
call    VID_Hw_Int_Proc
jc      not_handled
 

Handles hardware interrupts for a virtual device. The system calls the procedure whenever a hardware interrupt occurs. Typically, VID_Hw_Int_Proc services the physical device, calls the VPICD_Phys_EOI service to end the physical interrupt, and sets the virtual IRQ request for a specific virtual machine.

The system disables interrupts before calling this procedure. The procedure can re-enable interrupts if necessary. Uses EAX, EBX, ECX, EDX, ESI, and Flags.

IRQHandle
Handle of the interrupt request.
VMHandle
Handle of the current virtual machine.

The VMM services the procedure is allowed to call is limited. If processing the interrupt requires use of restricted services, this procedure should use the Schedule_Call_Global_Event service to schedule an event that performs the additional processing.

This procedure must return using the ret instruction, not an iret instruction.