VPICD_Call_When_Hw_Int


include vpicd.inc

pushfd
cli
mov     esi, OFFSET32 Callback
VxDcall VPICD_Call_When_Hw_Int
popfd
mov     [Next_Callback], esi

Installs a callback procedure for hardware interrupts. The system calls the callback procedure whenever a hardware interrupt occurs. The caller must disable interrupts before calling this service. Uses ESI and Flags.

Callback

Address of the callback procedure. When the system calls the procedure, EBX contains the handle of the current virtual machine.

Although any virtual device can use this service, the service is intended for use by the virtual DMA device to detect completion of DMA transfers. On systems with hardware devices that interrupt frequently, use of this service should be avoided. Installing a callback procedure to process every hardware interrupt can have a major impact on performance.

The callback procedure is responsible for chaining to the next handler in the interrupt chain. It also must preserve the EBX register for the next handler.