From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: [PATCH 9/9] Allow setting the SVME bit v5 Date: Thu, 30 Oct 2008 14:16:50 -0500 Message-ID: <490A0822.4030607@codemonkey.ws> References: <1224522290-11740-1-git-send-email-agraf@suse.de> <1224522290-11740-2-git-send-email-agraf@suse.de> <1224522290-11740-3-git-send-email-agraf@suse.de> <1224522290-11740-4-git-send-email-agraf@suse.de> <1224522290-11740-5-git-send-email-agraf@suse.de> <1224522290-11740-6-git-send-email-agraf@suse.de> <1224522290-11740-7-git-send-email-agraf@suse.de> <1224522290-11740-8-git-send-email-agraf@suse.de> <1224522290-11740-9-git-send-email-agraf@suse.de> <1224522290-11740-10-git-send-email-agraf@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, joro@8bytes.org, avi@redhat.com To: Alexander Graf Return-path: Received: from rn-out-0910.google.com ([64.233.170.189]:30419 "EHLO rn-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752652AbYJ3TQz (ORCPT ); Thu, 30 Oct 2008 15:16:55 -0400 Received: by rn-out-0910.google.com with SMTP id k40so630915rnd.17 for ; Thu, 30 Oct 2008 12:16:54 -0700 (PDT) In-Reply-To: <1224522290-11740-10-git-send-email-agraf@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: Alexander Graf wrote: > Normally setting the SVME bit in EFER is not allowed, as we did > not support SVM. Not since we do, we should also allow enabling > SVM mode. > > v2 comes as last patch, so we don't enable half-ready code > v4 introduces a module option to enable SVM > > Signed-off-by: Alexander Graf > --- > arch/x86/kvm/svm.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 4582699..1e63860 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -68,6 +68,9 @@ static int npt = 1; > > module_param(npt, int, S_IRUGO); > > +static int nested = 0; > +module_param(nested, int, S_IRUGO); > Instead of doing this as a module parameter, we could either avoid advertising SVM support in cpuid from userspace or we could disable SVM in the BIOS. I really like the later approach because it gives a better error message within the guest. We could also keep the module parameter but it would be nice to support disabling SVM in userspace too. Regards, Anthony Liguori > static void kvm_reput_irq(struct vcpu_svm *svm); > static void svm_flush_tlb(struct kvm_vcpu *vcpu); > > @@ -457,6 +460,9 @@ static __init int svm_hardware_setup(void) > if (boot_cpu_has(X86_FEATURE_NX)) > kvm_enable_efer_bits(EFER_NX); > > + if (nested) > + kvm_enable_efer_bits(MSR_EFER_SVME_MASK); > + > for_each_online_cpu(cpu) { > r = svm_cpu_init(cpu); > if (r) >