VPICD_Convert_IRQ_To_Int

include vpicd.inc

mov eax, IRQNum ; IRQ number (not an IRQ handle!)

mov ebx, VM ; VM handle

VxDcall VPICD_Convert_IRQ_To_Int

jc not_valid ; carry flag set if IRQ number is not valid

mov [VecNum], eax ; interrupt vector number


The VPICD_Convert_IRQ_To_Int service returns the interrupt vector number that corresponds to the specified IRQ number for the given virtual machine.

Parameters

IRQNum

Specifies an IRQ number.

VM

Specifies the handle identifying the virtual machine.

Return Value

The carry flag is clear, and the EAX register contains an interrupt vector number if the IRQ number is valid. Otherwise, the carry flag is set.

Comments

Since virtual machines can map IRQ numbers of the virtual PIC to any interrupt vector numbers, virtual devices should always explicitly check which interrupt vector is mapped to a particular IRQ.

Uses

EAX, Flags

See Also

VPICD_Convert_Handle_To_IRQ, VPICD_Convert_Int_To_IRQ