1 # SPDX-License-Identifier: GPL-2.0
3 ccflags-y
+= -I
$(srctree
)/arch
/x86
/kvm
4 ccflags-
$(CONFIG_KVM_WERROR
) += -Werror
6 include $(srctree
)/virt
/kvm
/Makefile.kvm
8 kvm-y
+= x86.o emulate.o i8259.o irq.o lapic.o \
9 i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
10 debugfs.o mmu
/mmu.o mmu
/page_track.o \
13 kvm-
$(CONFIG_X86_64
) += mmu
/tdp_iter.o mmu
/tdp_mmu.o
14 kvm-
$(CONFIG_KVM_HYPERV
) += hyperv.o
15 kvm-
$(CONFIG_KVM_XEN
) += xen.o
16 kvm-
$(CONFIG_KVM_SMM
) += smm.o
18 kvm-intel-y
+= vmx
/vmx.o vmx
/vmenter.o vmx
/pmu_intel.o vmx
/vmcs12.o \
19 vmx
/nested.o vmx
/posted_intr.o vmx
/main.o
21 kvm-intel-
$(CONFIG_X86_SGX_KVM
) += vmx
/sgx.o
22 kvm-intel-
$(CONFIG_KVM_HYPERV
) += vmx
/hyperv.o vmx
/hyperv_evmcs.o
24 kvm-amd-y
+= svm
/svm.o svm
/vmenter.o svm
/pmu.o svm
/nested.o svm
/avic.o
26 kvm-amd-
$(CONFIG_KVM_AMD_SEV
) += svm
/sev.o
27 kvm-amd-
$(CONFIG_KVM_HYPERV
) += svm
/hyperv.o
30 kvm-y
+= kvm_onhyperv.o
31 kvm-intel-y
+= vmx
/vmx_onhyperv.o vmx
/hyperv_evmcs.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