Bimodal_Int_Struc

include bimodint.inc

Bimodal_Int_Struc     STRUC
BIS_IRQ_Number        dw    ? ; IRQ number
BIS_VM_ID             dw    0 ; see below
BIS_Next              dd    ? ; next Bimodal_Int_Struc in chain
BIS_Reserved1         dd    ? ; see below
BIS_Reserved2         dd    ? ; see below
BIS_Reserved3         dd    ? ; reserved; do not use
BIS_Reserved4         dd    ? ; reserved; do not use
BIS_Flags             dd    0 ; bimodal interrupt flags; must be 0
BIS_Mode              dw    0 ; see below
BIS_Entry             dw    ? ; see below
BIS_Control_Proc      dw    ? ; see below
                      dw    ?
BIS_User_Mode_API     dd    ? ; see below
BIS_Super_Mode_API    dd    ? ; see below
BIS_User_Mode_CS      dw    ? ; see below
BIS_User_Mode_DS      dw    ? ; see below
BIS_Super_Mode_CS     dw    ? ; see below
BIS_Super_Mode_DS     dw    ? ; see below
BIS_Descriptor_Count  dw    ? ; see below
Bimodal_Int_Struc     ENDS
 

Contains information for a bimodal interrupt.

BIS_VM_ID
Handle of the virtual machine; this field is used by the virtual PIC device.
BIS_Reserved1
Reserved for IRQ handle; this field is used by the virtual PIC device.
BIS_Reserved2
Reserved for BIS address; this field is used by the virtual PIC device.
BIS_Mode
Flag for user or supervisor mode. It is 0 for user mode; 4 for supervisor mode.
BIS_Entry
Offset to the interrupt service routine for this interrupt.
BIS_Control_Proc
Offset to the control procedure for this interrupt.
BIS_User_Mode_API
Address of the user-mode API procedure for this interrupt. The procedure must check for, and carry out these functions:
BIH_API_Call_Back Calls specified callback procedure when given virtual machine runs.
BIH_API_EOI End interrupt.
BIH_API_Get_IRR Retrieve the set state of the physical IRQ.
BIH_API_Get_ISR Retrieve service state of the physical IRQ.
BIH_API_Get_Mask Retrieve the mask state of the physical IRQ.
BIH_API_Mask Mask the physical IRQ.
BIH_API_Unmask Unmask the physical IRQ.

BIS_Super_Mode_API
Address of the supervisor-mode API procedure for this interrupt; this field is set by the virtual PIC device.
BIS_User_Mode_CS
Selector for the user-mode code segment for the interrupt handler.
BIS_User_Mode_DS
Selector for the user-mode data segment for the interrupt handler.
BIS_Super_Mode_CS
Selector for the supervisor-mode code segment for the interrupt handler; this field is set by the virtual PIC device.
BIS_Super_Mode_DS
Selector for the supervisor-mode data segment for the interrupt handler; this field is set by the virtual PIC device.
BIS_Descriptor_Count
Number of additional EBIS_Sel_Struc structures immediately following this structure.