On Mon, Oct 14, 2019 at 06:31:44PM -0700, Sean Christopherson wrote: > On Sat, Sep 28, 2019 at 01:23:10PM -0400, Andrea Arcangeli wrote: > > This is the first commit of a patch series that aims to replace the > > modular kvm.ko kernel module with a monolithic kvm-intel/kvm-amd > > model. This change has the only possible cons of wasting some disk > > space in /lib/modules/. The pros are that it saves CPUS and some minor > > RAM which are more scarse resources than disk space. > > > > The pointer to function virtual template model cannot provide any > > runtime benefit because kvm-intel and kvm-amd can't be loaded at the > > same time. > > > > This removes kvm.ko and it links and duplicates all kvm.ko objects to > > both kvm-amd and kvm-intel. > > The KVM config option should be changed to a bool and its help text > updated. Maybe something similar to the help for VIRTUALIZATION to make > it clear that enabling KVM on its own does nothing. Making KVM a bool doesn't work well, keeping it a tristate and keying off KVM=y to force Intel or AMD (as done in the next patch) looks like the cleanest implementation. The help text should still be updated though. > > > > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > > --- > > arch/x86/kvm/Makefile | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile > > index 31ecf7a76d5a..68b81f381369 100644 > > --- a/arch/x86/kvm/Makefile > > +++ b/arch/x86/kvm/Makefile > > @@ -12,9 +12,8 @@ kvm-y += x86.o mmu.o emulate.o i8259.o irq.o lapic.o \ > > i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \ > > hyperv.o page_track.o debugfs.o > > > > -kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o vmx/evmcs.o vmx/nested.o > > -kvm-amd-y += svm.o pmu_amd.o > > +kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o vmx/evmcs.o vmx/nested.o $(kvm-y) > > +kvm-amd-y += svm.o pmu_amd.o $(kvm-y) > > > > -obj-$(CONFIG_KVM) += kvm.o > > obj-$(CONFIG_KVM_INTEL) += kvm-intel.o > > obj-$(CONFIG_KVM_AMD) += kvm-amd.o