forked from Minki/linux
174178fed3
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>
27 lines
768 B
Makefile
27 lines
768 B
Makefile
#
|
|
# Makefile for Kernel-based Virtual Machine module
|
|
#
|
|
|
|
plus_virt := $(call as-instr,.arch_extension virt,+virt)
|
|
ifeq ($(plus_virt),+virt)
|
|
plus_virt_def := -DREQUIRES_VIRT=1
|
|
endif
|
|
|
|
ccflags-y += -Ivirt/kvm -Iarch/arm/kvm
|
|
CFLAGS_arm.o := -I. $(plus_virt_def)
|
|
CFLAGS_mmu.o := -I.
|
|
|
|
AFLAGS_init.o := -Wa,-march=armv7-a$(plus_virt)
|
|
AFLAGS_interrupts.o := -Wa,-march=armv7-a$(plus_virt)
|
|
|
|
KVM := ../../../virt/kvm
|
|
kvm-arm-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o
|
|
|
|
obj-y += kvm-arm.o init.o interrupts.o
|
|
obj-y += arm.o handle_exit.o guest.o mmu.o emulate.o reset.o
|
|
obj-y += coproc.o coproc_a15.o coproc_a7.o mmio.o psci.o perf.o
|
|
obj-y += $(KVM)/arm/vgic.o
|
|
obj-y += $(KVM)/arm/vgic-v2.o
|
|
obj-y += $(KVM)/arm/vgic-v2-emul.o
|
|
obj-y += $(KVM)/arm/arch_timer.o
|