KVM: irqfd
authorGregory Haskins <ghaskins@novell.com>
Wed, 20 May 2009 14:30:49 +0000 (10:30 -0400)
committerAvi Kivity <avi@redhat.com>
Thu, 10 Sep 2009 05:32:41 +0000 (08:32 +0300)
commit721eecbf4fe995ca94a9edec0c9843b1cc0eaaf3
treec759fe98a4ea5e2e2a7694e4b44a558407077290
parent0ba12d10817a8db1fd7d96d3283ec6c0b294aeab
KVM: irqfd

KVM provides a complete virtual system environment for guests, including
support for injecting interrupts modeled after the real exception/interrupt
facilities present on the native platform (such as the IDT on x86).
Virtual interrupts can come from a variety of sources (emulated devices,
pass-through devices, etc) but all must be injected to the guest via
the KVM infrastructure.  This patch adds a new mechanism to inject a specific
interrupt to a guest using a decoupled eventfd mechnanism:  Any legal signal
on the irqfd (using eventfd semantics from either userspace or kernel) will
translate into an injected interrupt in the guest at the next available
interrupt window.

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/Kconfig
arch/x86/kvm/Makefile
arch/x86/kvm/x86.c
include/linux/kvm.h
include/linux/kvm_host.h
virt/kvm/Kconfig
virt/kvm/eventfd.c [new file with mode: 0644]
virt/kvm/kvm_main.c