1 # SPDX-License-Identifier: GPL-2.0
3 ccflags-y += -I $(srctree)/arch/x86/kvm
4 ccflags-$(CONFIG_KVM_WERROR) += -Werror
6 ifeq ($(CONFIG_FRAME_POINTER),y)
7 OBJECT_FILES_NON_STANDARD_vmenter.o := y
10 include $(srctree)/virt/kvm/Makefile.kvm
12 kvm-y += x86.o emulate.o i8259.o irq.o lapic.o \
13 i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
14 hyperv.o debugfs.o mmu/mmu.o mmu/page_track.o \
18 kvm-y += kvm_onhyperv.o
21 kvm-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o
22 kvm-$(CONFIG_KVM_XEN) += xen.o
23 kvm-$(CONFIG_KVM_SMM) += smm.o
25 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
26 vmx/evmcs.o vmx/nested.o vmx/posted_intr.o
27 kvm-intel-$(CONFIG_X86_SGX_KVM) += vmx/sgx.o
29 kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o svm/sev.o
32 kvm-amd-y += svm/svm_onhyperv.o
35 obj-$(CONFIG_KVM) += kvm.o
36 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
37 obj-$(CONFIG_KVM_AMD) += kvm-amd.o
39 AFLAGS_svm/vmenter.o := -iquote $(obj)
40 $(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h
42 AFLAGS_vmx/vmenter.o := -iquote $(obj)
43 $(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h
45 $(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE
46 $(call filechk,offsets,__KVM_ASM_OFFSETS_H__)
48 targets += kvm-asm-offsets.s
49 clean-files += kvm-asm-offsets.h