From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v2] KVM: nVMX: Fix setting of CR0 and CR4 in guest mode Date: Thu, 7 Mar 2013 14:21:17 +0200 Message-ID: <20130307122117.GJ11223@redhat.com> References: <20130307084323.GC11223@redhat.com> <5138559D.3070707@siemens.com> <20130307085742.GE11223@redhat.com> <51386DF7.4010507@siemens.com> <20130307110601.GF11223@redhat.com> <51387926.4090301@siemens.com> <20130307115058.GG11223@redhat.com> <513880A7.8070109@siemens.com> <20130307120512.GI11223@redhat.com> <51388590.7030302@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Marcelo Tosatti , kvm , "Nadav Har'El" To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:47620 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751150Ab3CGMVY (ORCPT ); Thu, 7 Mar 2013 07:21:24 -0500 Content-Disposition: inline In-Reply-To: <51388590.7030302@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Mar 07, 2013 at 01:18:24PM +0100, Jan Kiszka wrote: > On 2013-03-07 13:05, Gleb Natapov wrote: > > On Thu, Mar 07, 2013 at 12:57:27PM +0100, Jan Kiszka wrote: > >>>> Ah, sorry, you are not seeing what I'm looking at: The test will change > >>>> for L2 context once unrestricted guest mode is added. At that point, it > >>>> makes more sense to split it into one version that checks against > >>>> VMXON_CR0_ALWAYSON while in vmxon, targeting L1, and another that does > >>>> more complex evaluation for L2, depending on nested_cpu_has2(vmcs12, > >>>> SECONDARY_EXEC_UNRESTRICTED_GUEST). > >>>> > >>> Ah, OK. Hard to argue that those checks can be consolidated without > >>> seeing them :) So you want to implement unrestricted L1 on restricted L0 and > >>> let L0 emulate real mode of L2 directly? > >> > >> Err, no. :) Well, that emulation might even work but doesn't help unless > >> you also emulate EPT (not unrestricted guest mode without EPT support - > >> according to the spec). > > Yes, of course EPT is needed, but patches are available :) I think it > > should speedup L2 real mode substantially. No need to go to L1 for each > > instruction emulation and L1 will have to exit to L0 many times during > > emulation of some instructions. > > The point is: If you already have EPT on the host, you likely also have > native unrestricted guest mode. You just need to expose it and adjust > some minor things (like this bug here) along the way. Not sure how many > CPUs had EPT but no unrestricted guest mode. Do you have numbers? > AFAIK every single one before Westmere. Nehalem does no have it for sure. -- Gleb.