162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciccflags-y += -I $(srctree)/arch/x86/kvm
462306a36Sopenharmony_ciccflags-$(CONFIG_KVM_WERROR) += -Werror
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciifeq ($(CONFIG_FRAME_POINTER),y)
762306a36Sopenharmony_ciOBJECT_FILES_NON_STANDARD_vmenter.o := y
862306a36Sopenharmony_ciendif
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciinclude $(srctree)/virt/kvm/Makefile.kvm
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cikvm-y			+= x86.o emulate.o i8259.o irq.o lapic.o \
1362306a36Sopenharmony_ci			   i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
1462306a36Sopenharmony_ci			   hyperv.o debugfs.o mmu/mmu.o mmu/page_track.o \
1562306a36Sopenharmony_ci			   mmu/spte.o
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciifdef CONFIG_HYPERV
1862306a36Sopenharmony_cikvm-y			+= kvm_onhyperv.o
1962306a36Sopenharmony_ciendif
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_cikvm-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o
2262306a36Sopenharmony_cikvm-$(CONFIG_KVM_XEN)	+= xen.o
2362306a36Sopenharmony_cikvm-$(CONFIG_KVM_SMM)	+= smm.o
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_cikvm-intel-y		+= vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
2662306a36Sopenharmony_ci			   vmx/hyperv.o vmx/nested.o vmx/posted_intr.o
2762306a36Sopenharmony_cikvm-intel-$(CONFIG_X86_SGX_KVM)	+= vmx/sgx.o
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cikvm-amd-y		+= svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o \
3062306a36Sopenharmony_ci			   svm/sev.o svm/hyperv.o
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ciifdef CONFIG_HYPERV
3362306a36Sopenharmony_cikvm-amd-y		+= svm/svm_onhyperv.o
3462306a36Sopenharmony_ciendif
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ciobj-$(CONFIG_KVM)	+= kvm.o
3762306a36Sopenharmony_ciobj-$(CONFIG_KVM_INTEL)	+= kvm-intel.o
3862306a36Sopenharmony_ciobj-$(CONFIG_KVM_AMD)	+= kvm-amd.o
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciAFLAGS_svm/vmenter.o    := -iquote $(obj)
4162306a36Sopenharmony_ci$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciAFLAGS_vmx/vmenter.o    := -iquote $(obj)
4462306a36Sopenharmony_ci$(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci$(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE
4762306a36Sopenharmony_ci	$(call filechk,offsets,__KVM_ASM_OFFSETS_H__)
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_citargets += kvm-asm-offsets.s
5062306a36Sopenharmony_ciclean-files += kvm-asm-offsets.h
51