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 <[email protected]>
> > ---
> >  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

Reply via email to