Virtualizing Interrupts

The behavior of 8086 Emulation in response to an interrupt is dependent upon the descriptor privilege level (DPL) field for the interrupt handler. This is shown in Figure "Descriptor Privilege Levels".

When a software interrupt occurs in a DOS application running in a VDM, the interrupt is vectored to an interrupt handler determined by an entry in the VDM's Interrupt Vector table. This interrupt handler has its own descriptor privilege level (DPL). If the DPL is 3, the interrupt handler code is simply executed, and control returns to the DOS application.

If the DPL of the interrupt handler is less than 3, a general protection exception is generated by the processor and passed to the OS/2 Version 2.0 kernel. The general protection exception handler then determines that the exception occurred from a V86 mode task, and invokes 8086 Emulation to simulate execution of the interrupt handler. Depending upon the type of interrupt, 8086 Emulation may perform the emulation within itself, or call another component of MVDM to handle the emulation.


[Back: DOS Software Interrupt Handling]
[Next: Disabling Interrupts]