Virtual Programmable Interrupt Controller
Notes to the numbers in the above figure:
8259 PIC port accesses
VPIC initialization entry point (VDDInit)
VPIC VDM creation entry point (vpicCreateVDM)
Call when interrupts enabled service (VDHArmSTIHook)
Return to VDM interrupt code service (VDHPushInt)
Set the global and the VDM context hook service
(VDHArmContextHook)
Start the timer service (VDHArmTimerHook)
Set the VDM priority service (VDHSetPriority)
Set the IRET and EOI handlers service (VDHOpenVIRQ)
Set the virtual IRR request service (VDHSetVIRR)
Clear the virtual IRR request service (VDHClearVIRR)
Get virtual IRQ status service (VDHQueryVIRQ)
Send virtual EOI service (VDHSendEOI)
Wait for simulated interrupt service (VDHWaitVIRRs)
Wake up the VDM waiting for a simulated interrupt (VDHWakeVIRRs)
Physical PIC hardware interrupt requests
and EOI
VPIC requests an IRQ level will be dispatched to VPIC if no physical device
driver services the interrupt (INTSetVDMIRQ)
VPIC notifies the interrupt manager of the end of the interrupt processing
(INTEOIVDMIRQ)
Hardware Interrupt dispatching
The interrupt manager transfers control to the VPIC for hardware interrupts
that the VPIC has set, and no physical device driver has serviced (VPICIntHdlr)
[Back: Virtual Printer Device Driver Operation]
[Next: General Overview of Different Types of Memory for DOS Applications]