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.
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.