• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0
2#
3# Makefile for Kernel-based Virtual Machine module
4#
5
6ccflags-y += -I $(srctree)/$(src)
7
8KVM=../../../virt/kvm
9
10obj-$(CONFIG_KVM) += kvm.o
11obj-$(CONFIG_KVM) += hyp/
12
13kvm-y := $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o $(KVM)/eventfd.o \
14	 $(KVM)/vfio.o $(KVM)/irqchip.o $(KVM)/binary_stats.o iommu.o \
15	 arm.o mmu.o mmio.o psci.o hypercalls.o pvtime.o \
16	 inject_fault.o va_layout.o handle_exit.o \
17	 guest.o debug.o reset.o sys_regs.o stacktrace.o \
18	 vgic-sys-reg-v3.o fpsimd.o pkvm.o \
19	 arch_timer.o trng.o vmid.o \
20	 vgic/vgic.o vgic/vgic-init.o \
21	 vgic/vgic-irqfd.o vgic/vgic-v2.o \
22	 vgic/vgic-v3.o vgic/vgic-v4.o \
23	 vgic/vgic-mmio.o vgic/vgic-mmio-v2.o \
24	 vgic/vgic-mmio-v3.o vgic/vgic-kvm-device.o \
25	 vgic/vgic-its.o vgic/vgic-debug.o
26
27kvm-$(CONFIG_HW_PERF_EVENTS)  += pmu-emul.o pmu.o
28kvm-$(CONFIG_ANDROID_ARM64_WORKAROUND_DMA_BEYOND_POC) += android_erratum_pgtable.o
29
30kvm-$(CONFIG_TRACING) += hyp_events.o hyp_trace.o
31
32always-y := hyp_constants.h hyp-constants.s
33
34define rule_gen_hyp_constants
35	$(call filechk,offsets,__HYP_CONSTANTS_H__)
36endef
37
38CFLAGS_hyp-constants.o = -I $(srctree)/$(src)/hyp/include
39$(obj)/hyp-constants.s: $(src)/hyp/hyp-constants.c FORCE
40	$(call if_changed_dep,cc_s_c)
41
42$(obj)/hyp_constants.h: $(obj)/hyp-constants.s FORCE
43	$(call if_changed_rule,gen_hyp_constants)
44
45obj-kvm := $(addprefix $(obj)/, $(kvm-y))
46$(obj-kvm): $(obj)/hyp_constants.h
47