1# SPDX-License-Identifier: GPL-2.0 2 3ccflags-y += -I $(srctree)/arch/x86/kvm 4ccflags-$(CONFIG_KVM_WERROR) += -Werror 5 6ifeq ($(CONFIG_FRAME_POINTER),y) 7OBJECT_FILES_NON_STANDARD_vmenter.o := y 8endif 9 10include $(srctree)/virt/kvm/Makefile.kvm 11 12kvm-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 \ 15 mmu/spte.o 16 17ifdef CONFIG_HYPERV 18kvm-y += kvm_onhyperv.o 19endif 20 21kvm-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o 22kvm-$(CONFIG_KVM_XEN) += xen.o 23kvm-$(CONFIG_KVM_SMM) += smm.o 24 25kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \ 26 vmx/hyperv.o vmx/nested.o vmx/posted_intr.o 27kvm-intel-$(CONFIG_X86_SGX_KVM) += vmx/sgx.o 28 29ifdef CONFIG_HYPERV 30kvm-intel-y += vmx/vmx_onhyperv.o 31endif 32 33kvm-amd-y += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o \ 34 svm/sev.o svm/hyperv.o 35 36ifdef CONFIG_HYPERV 37kvm-amd-y += svm/svm_onhyperv.o 38endif 39 40obj-$(CONFIG_KVM) += kvm.o 41obj-$(CONFIG_KVM_INTEL) += kvm-intel.o 42obj-$(CONFIG_KVM_AMD) += kvm-amd.o 43 44AFLAGS_svm/vmenter.o := -iquote $(obj) 45$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h 46 47AFLAGS_vmx/vmenter.o := -iquote $(obj) 48$(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h 49 50$(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE 51 $(call filechk,offsets,__KVM_ASM_OFFSETS_H__) 52 53targets += kvm-asm-offsets.s 54clean-files += kvm-asm-offsets.h 55