From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] KVM: nVMX: Replace kvm_set_cr0 with vmx_set_cr0 in load_vmcs12_host_state Date: Sat, 23 Feb 2013 22:57:28 +0100 Message-ID: <51293B48.6070108@web.de> References: <5129361A.7090608@web.de> <20130223214503.GA13800@fermat.math.technion.ac.il> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="----enig2SHBUBRVLVEBKCVDBKGHJ" Cc: Marcelo Tosatti , Gleb Natapov , kvm , "Nakajima, Jun" , avi.kivity@gmail.com To: Nadav Har'El Return-path: Received: from mout.web.de ([212.227.15.3]:50041 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759258Ab3BWV5g (ORCPT ); Sat, 23 Feb 2013 16:57:36 -0500 In-Reply-To: <20130223214503.GA13800@fermat.math.technion.ac.il> Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2SHBUBRVLVEBKCVDBKGHJ Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 2013-02-23 22:45, Nadav Har'El wrote: > On Sat, Feb 23, 2013, Jan Kiszka wrote about "[PATCH] KVM: nVMX: Replac= e kvm_set_cr0 with vmx_set_cr0 in load_vmcs12_host_state": >> - kvm_set_cr0(vcpu, vmcs12->host_cr0); >> + vmx_set_cr0(vcpu, vmcs12->host_cr0); >=20 > I don't remember now why I did this (and I'm not looking at the code), > but this you'll need to really test carefully, including > shadow-on-shadow mode (ept=3D0 in L0), to verify you're not missing any= > important side-effect of kvm_set_cr0. >=20 > Also, if I remember correctly, during nVMX's review, Avi Kivity asked > in several places that when I called vmx_set_cr0, I should instead call= > kvm_set_cr0(), because it does some extra stuff and does some extra > checks. Hmm, see, see this: > http://markmail.org/message/hhidqyhbo2mrgxxc >=20 > where Avi asked for the reverse patch you're attempting now. At least, kvm_set_cr0 can't be used as it assumes an otherwise consistent guest state and an explicitly initiated transition - which is naturally not the case while emulating a vmexit. However, there are some side effects that need a closer look, likely also in other places where vmx_set_cr0 is used directly. E.g. load_pdptrs. The lack of calling them on host->guest switch may explain the PAE issues you once saw with your nEPT implementation. OK, more work... Jan ------enig2SHBUBRVLVEBKCVDBKGHJ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlEpO00ACgkQitSsb3rl5xS7kQCgqm4EL7r0Q/VfQCr39BTWdWT7 0sQAoM4+RcoXM9DRgnkf1rtVqX0G1aAA =4naA -----END PGP SIGNATURE----- ------enig2SHBUBRVLVEBKCVDBKGHJ--