mirror of
https://github.com/torvalds/linux
synced 2024-09-23 04:49:22 +00:00
0a4377de30
With Posted-Interrupts support in Intel CPU and IOMMU, an external interrupt from assigned-devices could be directly delivered to a virtual CPU in a virtual machine. Instead of hacking KVM and Intel IOMMU drivers, we propose a platform independent interface to target an interrupt to a specific virtual CPU in a virtual machine, or set virtual CPU affinity for an interrupt. By adopting this new interface and the hierarchy irqdomain, we could easily support posted-interrupts on Intel platforms, and also provide flexible enough interfaces for other platforms to support similar features. Here is the usage scenario for this interface: Guest update MSI/MSI-X interrupt configuration -->QEMU and KVM handle this -->KVM call this interface (passing posted interrupts descriptor and guest vector) -->irq core will transfer the control to IOMMU -->IOMMU will do the real work of updating IRTE (IRTE has new format for VT-d Posted-Interrupts) Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Signed-off-by: Feng Wu <feng.wu@intel.com> Link: http://lkml.kernel.org/r/1432026437-16560-2-git-send-email-feng.wu@intel.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
||
---|---|---|
.. | ||
autoprobe.c | ||
chip.c | ||
debug.h | ||
devres.c | ||
dummychip.c | ||
generic-chip.c | ||
handle.c | ||
internals.h | ||
irqdesc.c | ||
irqdomain.c | ||
Kconfig | ||
Makefile | ||
manage.c | ||
migration.c | ||
msi.c | ||
pm.c | ||
proc.c | ||
resend.c | ||
settings.h | ||
spurious.c |