1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for Kernel-based Virtual Machine module
6 plus_virt
:= $(call as-instr
,.arch_extension virt
,+virt
)
7 ifeq ($(plus_virt
),+virt
)
8 plus_virt_def
:= -DREQUIRES_VIRT
=1
11 ccflags-y
+= -Iarch
/arm
/kvm
-Ivirt
/kvm
/arm
/vgic
12 CFLAGS_arm.o
:= -I.
$(plus_virt_def
)
15 AFLAGS_init.o
:= -Wa
,-march
=armv7-a
$(plus_virt
)
16 AFLAGS_interrupts.o
:= -Wa
,-march
=armv7-a
$(plus_virt
)
18 KVM
:= ..
/..
/..
/virt
/kvm
19 kvm-arm-y
= $(KVM
)/kvm_main.o
$(KVM
)/coalesced_mmio.o
$(KVM
)/eventfd.o
$(KVM
)/vfio.o
21 obj-
$(CONFIG_KVM_ARM_HOST
) += hyp
/
23 obj-y
+= kvm-arm.o init.o interrupts.o
24 obj-y
+= handle_exit.o guest.o emulate.o reset.o
25 obj-y
+= coproc.o coproc_a15.o coproc_a7.o vgic-v3-coproc.o
26 obj-y
+= $(KVM
)/arm
/arm.o
$(KVM
)/arm
/mmu.o
$(KVM
)/arm
/mmio.o
27 obj-y
+= $(KVM
)/arm
/psci.o
$(KVM
)/arm
/perf.o
28 obj-y
+= $(KVM
)/arm
/aarch32.o
30 obj-y
+= $(KVM
)/arm
/vgic
/vgic.o
31 obj-y
+= $(KVM
)/arm
/vgic
/vgic-init.o
32 obj-y
+= $(KVM
)/arm
/vgic
/vgic-irqfd.o
33 obj-y
+= $(KVM
)/arm
/vgic
/vgic-v2.o
34 obj-y
+= $(KVM
)/arm
/vgic
/vgic-v3.o
35 obj-y
+= $(KVM
)/arm
/vgic
/vgic-v4.o
36 obj-y
+= $(KVM
)/arm
/vgic
/vgic-mmio.o
37 obj-y
+= $(KVM
)/arm
/vgic
/vgic-mmio-v2.o
38 obj-y
+= $(KVM
)/arm
/vgic
/vgic-mmio-v3.o
39 obj-y
+= $(KVM
)/arm
/vgic
/vgic-kvm-device.o
40 obj-y
+= $(KVM
)/arm
/vgic
/vgic-its.o
41 obj-y
+= $(KVM
)/arm
/vgic
/vgic-debug.o
42 obj-y
+= $(KVM
)/irqchip.o
43 obj-y
+= $(KVM
)/arm
/arch_timer.o