VPICD_IRQ_Descriptor

include vpicd.inc

VPICD_IRQ_Descriptor STRUC

VID_IRQ_Number dw ?

VID_Options dw 0

VID_Hw_Int_Proc dd ?

VID_Virt_Int_Proc dd 0

VID_EOI_Proc dd 0

VID_Mask_Change_Proc dd 0

VID_IRET_Proc dd 0

VID_IRET_Time_Out dd 500

VPICD_IRQ_Descriptor ENDS


The VPICD_IRQ_Descriptor structure contains information about a virtualized IRQ.

Fields

VID_IRQ_Number

Specifies the number of the IRQ to virtualize.

VID_Options

Specifies the options for virtualizing the IRQ. It can be a combination of the following values:

Value Meaning

VPICD_Opt_Can_Share Virtual IRQ can be shared.
VPICD_Opt_Read_Hw_IRR Reads the hardware interrupt register.

VID_Hw_Int_Proc

Points to the callback procedure that handles hardware interrupts for this IRQ.

VID_Virt_Int_Proc

Points to the callback procedure that handles virtual interrupts for this IRQ.

VID_EOI_Proc

Points to the callback procedure that handles end-of-interrupt commands for this IRQ.

VID_Mask_Change_Proc

Points to the callback procedure that handles changes to the IRQ mask for this IRQ.

VID_IRET_Proc

Points to the callback procedure that handles iret instructions for this IRQ.

VID_IRET_Time_Out

Specifies the maximum amount of time in milliseconds that the virtual PIC device allows before the time out occurs.

Comments

Time outs are very important to prevent 386 enhanced-mode Windows from hanging while simulating a hardware interrupt.