Simulate_Int

include vmm.inc

mov     eax, Interrupt      ; interrupt number
VMMCall Simulate_Int

Simulates an interrupt in the current virtual machine. The service first calls any hook procedures set by the Hook_V86_Int_Chain service. If no hook procedure services the interrupt, this service pushes the Client_Flags, Client_CS, and Client_IP registers on the stack of the current virtual machine. When the virtual machine resumes execution (such as when an Resume_Exec service is called), the system carries out the simulated interrupt and executes the corresponding V86 mode interrupt routine. Uses Client_CS, Client_EIP, Client_Flags, Flags.

Interrupt
Number of the interrupt to simulate.

The virtual PIC device uses this service to simulate hardware interrupts. Other virtual devices use the Exec_Int service to simulate interrupts.

If the virtual machine is currently in V86 mode, this service simulates a V86 interrupt. Otherwise, the service simulates a protected-mode interrupt. Simulating an interrupt in a virtual machine running a protected-mode application can have undesirable effects if the corresponding interrupt attempts to reflect the interrupt to V86 mode.

Virtual devices that need immediate execution of an interrupt should use the Exec_Int service in a nested execution block.

See Also

Exec_Int