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