forked from Minki/linux
efffe55af5
Now that the new VGIC implementation has reached feature parity with the old one, add the new files to the build system and add a Kconfig option to switch between the two versions. We set the default to the new version to get maximum test coverage, in case people experience problems they can switch back to the old behaviour if needed. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
39 lines
1.1 KiB
Makefile
39 lines
1.1 KiB
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 += -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 $(KVM)/vfio.o
|
|
|
|
obj-$(CONFIG_KVM_ARM_HOST) += hyp/
|
|
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
|
|
|
|
ifeq ($(CONFIG_KVM_NEW_VGIC),y)
|
|
obj-y += $(KVM)/arm/vgic/vgic.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-init.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-irqfd.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-v2.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-mmio.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-mmio-v2.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-kvm-device.o
|
|
else
|
|
obj-y += $(KVM)/arm/vgic.o
|
|
obj-y += $(KVM)/arm/vgic-v2.o
|
|
obj-y += $(KVM)/arm/vgic-v2-emul.o
|
|
endif
|
|
obj-y += $(KVM)/arm/arch_timer.o
|