forked from luck/tmp_suning_uos_patched
acda5430be
This patch allows to build and use vgic-v3 in 32-bit mode. Unfortunately, it can not be split in several steps without extra stubs to keep patches independent and bisectable. For instance, virt/kvm/arm/vgic/vgic-v3.c uses function from vgic-v3-sr.c, handling access to GICv3 cpu interface from the guest requires vgic_v3.vgic_sre to be already defined. It is how support has been done: * handle SGI requests from the guest * report configured SRE on access to GICv3 cpu interface from the guest * required vgic-v3 macros are provided via uapi.h * static keys are used to select GIC backend * to make vgic-v3 build KVM_ARM_VGIC_V3 guard is removed along with the static inlines Acked-by: Marc Zyngier <marc.zyngier@arm.com> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
37 lines
1.1 KiB
Makefile
37 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
|
|
obj-y += $(KVM)/arm/aarch32.o
|
|
|
|
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-v3.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-mmio.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-mmio-v2.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-mmio-v3.o
|
|
obj-y += $(KVM)/arm/vgic/vgic-kvm-device.o
|
|
obj-y += $(KVM)/irqchip.o
|
|
obj-y += $(KVM)/arm/arch_timer.o
|