Virtual Interrupt Control Overview
The hypervisor creates a virtual implementation of interrupt delivery to virtual processors by using a synthetic interrupt controller (SynIC). A SynIC is an extension of a virtualized local Advanced Programmable Interrupt Controller (APIC); that is, each virtual processor has a local APIC instance with the SynIC extensions. These extensions provide a simple inter-partition communication mechanism, which is described in Hypervisor Inter-Partition Communication.
Interrupts that are delivered to a partition can be external or internal. External interrupts originate from other partitions or devices, and internal interrupts originate from within the partition itself.
External interrupts are generated in the following situations:
-
A physical hardware device generates a hardware interrupt (in which case the interrupt is reflected to the root partition).
-
A parent partition calls the HvAssertVirtualInterrupt hypercall function (typically in the process of emulating a hardware device).
-
The hypervisor delivers a message (for example, due to an intercept) to a partition.
-
A partition calls the HvPostMessage hypercall function.
-
A partition calls the HvSignalEvent hypercall function.
Internal interrupts are generated in the following situations:
-
A virtual processor accesses the APIC interrupt command register (ICR).
-
A synthetic timer expires.
Send comments about this topic to Microsoft
Build date: 11/16/2013