1 # SPDX-License-Identifier: GPL-2.0
3 # Makefile for Kernel-based Virtual Machine module
6 ccflags-y += -I $(srctree)/$(src)
8 include $(srctree)/virt/kvm/Makefile.kvm
10 obj-$(CONFIG_KVM) += kvm.o
11 obj-$(CONFIG_KVM) += hyp/
13 kvm-y += arm.o mmu.o mmio.o psci.o hypercalls.o pvtime.o \
14 inject_fault.o va_layout.o handle_exit.o \
15 guest.o debug.o reset.o sys_regs.o \
16 vgic-sys-reg-v3.o fpsimd.o pkvm.o \
17 arch_timer.o trng.o vmid.o \
18 vgic/vgic.o vgic/vgic-init.o \
19 vgic/vgic-irqfd.o vgic/vgic-v2.o \
20 vgic/vgic-v3.o vgic/vgic-v4.o \
21 vgic/vgic-mmio.o vgic/vgic-mmio-v2.o \
22 vgic/vgic-mmio-v3.o vgic/vgic-kvm-device.o \
23 vgic/vgic-its.o vgic/vgic-debug.o
25 kvm-$(CONFIG_HW_PERF_EVENTS) += pmu-emul.o pmu.o
27 always-y := hyp_constants.h hyp-constants.s
29 define rule_gen_hyp_constants
30 $(call filechk,offsets,__HYP_CONSTANTS_H__)
33 CFLAGS_hyp-constants.o = -I $(srctree)/$(src)/hyp/include
34 $(obj)/hyp-constants.s: $(src)/hyp/hyp-constants.c FORCE
35 $(call if_changed_dep,cc_s_c)
37 $(obj)/hyp_constants.h: $(obj)/hyp-constants.s FORCE
38 $(call if_changed_rule,gen_hyp_constants)
40 obj-kvm := $(addprefix $(obj)/, $(kvm-y))
41 $(obj-kvm): $(obj)/hyp_constants.h