xref: /linux/arch/x86/kvm/Makefile (revision 5f18c642ff7e2106559388b055ba291fb48f58a5)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2edf88417SAvi Kivity
36fb3084aSSiddharth Chandrasekaranccflags-y += -I $(srctree)/arch/x86/kvm
44f337fafSPaolo Bonziniccflags-$(CONFIG_KVM_WERROR) += -Werror
5edf88417SAvi Kivity
67f4b5cdeSJosh Poimboeufifeq ($(CONFIG_FRAME_POINTER),y)
7bf48d9b7SMasahiro YamadaOBJECT_FILES_NON_STANDARD_vmx/vmenter.o := y
8bf48d9b7SMasahiro YamadaOBJECT_FILES_NON_STANDARD_svm/vmenter.o := y
97f4b5cdeSJosh Poimboeufendif
107f4b5cdeSJosh Poimboeuf
116f2cdbdbSDavid Woodhouseinclude $(srctree)/virt/kvm/Makefile.kvm
12284e9b0fSChristoph Hellwig
13b59b153dSPaolo Bonzinikvm-y			+= x86.o emulate.o i8259.o irq.o lapic.o \
14e83d5887SAndrey Smetanin			   i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
15b4f69df0SVitaly Kuznetsov			   debugfs.o mmu/mmu.o mmu/page_track.o \
16897218ffSPaolo Bonzini			   mmu/spte.o
173c86c0d3SVineeth Pillai
18897218ffSPaolo Bonzinikvm-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o
19b4f69df0SVitaly Kuznetsovkvm-$(CONFIG_KVM_HYPERV) += hyperv.o
20b59b153dSPaolo Bonzinikvm-$(CONFIG_KVM_XEN)	+= xen.o
214b8e1b32SPaolo Bonzinikvm-$(CONFIG_KVM_SMM)	+= smm.o
22e83d5887SAndrey Smetanin
238888cdd0SXiaoyao Likvm-intel-y		+= vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
24*5f18c642SPaolo Bonzini			   vmx/nested.o vmx/posted_intr.o vmx/main.o
259798adbcSSean Christopherson
26b4f69df0SVitaly Kuznetsovkvm-intel-$(CONFIG_X86_SGX_KVM)	+= vmx/sgx.o
27b4f69df0SVitaly Kuznetsovkvm-intel-$(CONFIG_KVM_HYPERV)	+= vmx/hyperv.o vmx/hyperv_evmcs.o
2850a82b0eSVitaly Kuznetsov
290d7bf5e5SPaolo Bonzinikvm-amd-y		+= svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o
300d7bf5e5SPaolo Bonzini
310d7bf5e5SPaolo Bonzinikvm-amd-$(CONFIG_KVM_AMD_SEV)	+= svm/sev.o
32b4f69df0SVitaly Kuznetsovkvm-amd-$(CONFIG_KVM_HYPERV)	+= svm/hyperv.o
33284e9b0fSChristoph Hellwig
341183646aSVineeth Pillaiifdef CONFIG_HYPERV
35b4f69df0SVitaly Kuznetsovkvm-y			+= kvm_onhyperv.o
36b4f69df0SVitaly Kuznetsovkvm-intel-y		+= vmx/vmx_onhyperv.o vmx/hyperv_evmcs.o
371183646aSVineeth Pillaikvm-amd-y		+= svm/svm_onhyperv.o
381183646aSVineeth Pillaiendif
391183646aSVineeth Pillai
40edf88417SAvi Kivityobj-$(CONFIG_KVM)	+= kvm.o
41edf88417SAvi Kivityobj-$(CONFIG_KVM_INTEL)	+= kvm-intel.o
42edf88417SAvi Kivityobj-$(CONFIG_KVM_AMD)	+= kvm-amd.o
43debc5a1eSPaolo Bonzini
4416fdc1deSPaolo BonziniAFLAGS_svm/vmenter.o    := -iquote $(obj)
4516fdc1deSPaolo Bonzini$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h
4616fdc1deSPaolo Bonzini
47debc5a1eSPaolo BonziniAFLAGS_vmx/vmenter.o    := -iquote $(obj)
48debc5a1eSPaolo Bonzini$(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h
49debc5a1eSPaolo Bonzini
50debc5a1eSPaolo Bonzini$(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE
51debc5a1eSPaolo Bonzini	$(call filechk,offsets,__KVM_ASM_OFFSETS_H__)
52debc5a1eSPaolo Bonzini
53debc5a1eSPaolo Bonzinitargets += kvm-asm-offsets.s
54debc5a1eSPaolo Bonziniclean-files += kvm-asm-offsets.h
55