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.