Set_PM_Int_Type


include vmm.inc

mov     eax, Interrupt  ; interrupt number
mov     edx, Type       ; 0 if trap gate, else interrupt gate
VMMcall Set_PM_Int_Type

Sets the gate type for a protected-mode interrupt vector. Uses Flags.

Interrupt

Number of the interrupt to set.

Type

Type of gate to set. If this parameter is zero, the service sets a trap gate; if nonzero, it sets an interrupt gate.

An interrupt passing through an interrupt gate automatically clears the interrupt flag bit to disable interrupts. Interrupts passing through a trap gate do not modify the interrupt bit. All protected-mode interrupts default to the trap gate type, but virtual devices such as the virtual PIC device, may change some trap gates to interrupt gates so that hardware interrupts disable interrupts. The virtual PIC device leaves software interrupts, such as Interrupt 21h, unchanged. This avoids an unnecessary ring transition by eliminating the need for the software interrupt handlers to execute an sti instruction.

See also Get_PM_Int_Type, Set_PM_Int_Vector