KVM: arm/arm64: add irqfd support
authorEric Auger <eric.auger@linaro.org>
Wed, 4 Mar 2015 10:14:36 +0000 (11:14 +0100)
committerChristoffer Dall <christoffer.dall@linaro.org>
Thu, 12 Mar 2015 14:15:34 +0000 (15:15 +0100)
commit174178fed338edba66ab9580af0c5d9e1a4e5019
treec290d6b6ae1464dd7dc72bfe63e0bb0553eac460
parent649cf73994e8ac69dfe3e7a35fba9acf051e7fe6
KVM: arm/arm64: add irqfd support

This patch enables irqfd on arm/arm64.

Both irqfd and resamplefd are supported. Injection is implemented
in vgic.c without routing.

This patch enables CONFIG_HAVE_KVM_EVENTFD and CONFIG_HAVE_KVM_IRQFD.

KVM_CAP_IRQFD is now advertised. KVM_CAP_IRQFD_RESAMPLE capability
automatically is advertised as soon as CONFIG_HAVE_KVM_IRQFD is set.

Irqfd injection is restricted to SPI. The rationale behind not
supporting PPI irqfd injection is that any device using a PPI would
be a private-to-the-CPU device (timer for instance), so its state
would have to be context-switched along with the VCPU and would
require in-kernel wiring anyhow. It is not a relevant use case for
irqfds.

Signed-off-by: Eric Auger <eric.auger@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Documentation/virtual/kvm/api.txt
arch/arm/include/uapi/asm/kvm.h
arch/arm/kvm/Kconfig
arch/arm/kvm/Makefile
arch/arm/kvm/arm.c
arch/arm64/include/uapi/asm/kvm.h
arch/arm64/kvm/Kconfig
arch/arm64/kvm/Makefile
virt/kvm/arm/vgic.c