Created
August 1, 2023 20:58
-
-
Save vsrinivas/644156dfacd725fcd9e57c8fae7656d9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig | |
index 129f66fe7a11..87ff1e5f354d 100644 | |
--- a/arch/x86/kvm/Kconfig | |
+++ b/arch/x86/kvm/Kconfig | |
@@ -140,4 +140,7 @@ config KVM_XEN | |
config KVM_EXTERNAL_WRITE_TRACKING | |
bool | |
+config KVM_MODULE_VERSION | |
+ int | |
+ | |
endif # VIRTUALIZATION | |
diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile | |
index 088dd38b0dfb..9ed8c797ac76 100644 | |
--- a/arch/x86/kvm/Makefile | |
+++ b/arch/x86/kvm/Makefile | |
@@ -7,12 +7,17 @@ ifeq ($(CONFIG_FRAME_POINTER),y) | |
OBJECT_FILES_NON_STANDARD_vmenter.o := y | |
endif | |
-X=a | |
+ifdef CONFIG_KVM_MODULE_VERSION | |
+X=$(CONFIG_KVM_MODULE_VERSION) | |
+else | |
+X= | |
+endif | |
+ | |
include $(srctree)/virt/kvm/Makefile.kvm | |
xvac-y := vac.o svm/vac.o vmx/vac.o $(KVM)/vac.o | |
-kvm-$(X)-y += x86.o emulate.o i8259.o irq.o lapic.o \ | |
+kvm$(X)-y += x86.o emulate.o i8259.o irq.o lapic.o \ | |
i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \ | |
hyperv.o debugfs.o mmu/mmu.o mmu/page_track.o \ | |
mmu/spte.o | |
@@ -21,23 +26,23 @@ ifdef CONFIG_HYPERV | |
kvm-y += kvm_onhyperv.o | |
endif | |
-kvm-$(X)-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o | |
-kvm-$(X)-$(CONFIG_KVM_XEN) += xen.o | |
-kvm-$(X)-$(CONFIG_KVM_SMM) += smm.o | |
+kvm$(X)-$(CONFIG_X86_64) += mmu/tdp_iter.o mmu/tdp_mmu.o | |
+kvm$(X)-$(CONFIG_KVM_XEN) += xen.o | |
+kvm$(X)-$(CONFIG_KVM_SMM) += smm.o | |
-kvm-$(X)-$(CONFIG_KVM_INTEL) += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \ | |
+kvm$(X)-$(CONFIG_KVM_INTEL) += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \ | |
vmx/hyperv.o vmx/nested.o vmx/posted_intr.o | |
-kvm-$(X)-$(CONFIG_X86_SGX_KVM) += vmx/sgx.o | |
+kvm$(X)-$(CONFIG_X86_SGX_KVM) += vmx/sgx.o | |
-kvm-$(X)-$(CONFIG_KVM_AMD) += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o \ | |
+kvm$(X)-$(CONFIG_KVM_AMD) += svm/svm.o svm/vmenter.o svm/pmu.o svm/nested.o svm/avic.o \ | |
svm/sev.o svm/hyperv.o | |
ifdef CONFIG_HYPERV | |
-kvm-$(CONFIG_KVM_AMD) += svm/svm_onhyperv.o | |
+kvm$(X)-$(CONFIG_KVM_AMD) += svm/svm_onhyperv.o | |
endif | |
obj-$(CONFIG_VAC) += xvac.o | |
-obj-$(CONFIG_KVM) += kvm-$(X).o | |
+obj-$(CONFIG_KVM) += kvm$(X).o | |
AFLAGS_svm/vmenter.o := -iquote $(obj) | |
$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h | |
diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm | |
index 488019f088e7..a69139d72414 100644 | |
--- a/virt/kvm/Makefile.kvm | |
+++ b/virt/kvm/Makefile.kvm | |
@@ -5,10 +5,10 @@ | |
KVM ?= ../../../virt/kvm | |
-kvm-$(X)-y := $(KVM)/kvm_main.o $(KVM)/eventfd.o $(KVM)/binary_stats.o | |
-kvm-$(X)-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o | |
-kvm-$(X)-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o | |
-kvm-$(X)-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o | |
-kvm-$(X)-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o | |
-kvm-$(X)-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o | |
-kvm-$(X)-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o | |
+kvm$(X)-y := $(KVM)/kvm_main.o $(KVM)/eventfd.o $(KVM)/binary_stats.o | |
+kvm$(X)-$(CONFIG_KVM_VFIO) += $(KVM)/vfio.o | |
+kvm$(X)-$(CONFIG_KVM_MMIO) += $(KVM)/coalesced_mmio.o | |
+kvm$(X)-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o | |
+kvm$(X)-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o | |
+kvm$(X)-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o | |
+kvm$(X)-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o | |
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c | |
index 13fc48aa264a..4e33f5769604 100644 | |
--- a/virt/kvm/kvm_main.c | |
+++ b/virt/kvm/kvm_main.c | |
@@ -5815,8 +5815,11 @@ int kvm_init(unsigned vcpu_size, unsigned vcpu_align, struct module *module) | |
if (WARN_ON_ONCE(r)) | |
goto err_vfio; | |
- // XXX: VAC: seqno? | |
- kvm_dev.name = kasprintf(GFP_KERNEL, "kvm%d", get_random_u8()); | |
+#ifdef CONFIG_KVM_MODULE_VERSION | |
+ kvm_dev.name = kasprintf(GFP_KERNEL, "kvm%d", CONFIG_KVM_MODULE_VERSION); | |
+#else | |
+ kvm_dev.name = "kvm"; | |
+#endif | |
/* | |
* Registration _must_ be the very last thing done, as this exposes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment