From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joerg Roedel Subject: Re: [PATCH 3/3] KVM: Cache pdptrs Date: Tue, 2 Jun 2009 11:30:43 +0200 Message-ID: <20090602093043.GO4062@amd.com> References: <1243862524-22120-1-git-send-email-avi@redhat.com> <1243862524-22120-4-git-send-email-avi@redhat.com> <20090602090428.GN4062@amd.com> <4A24EC3D.9020507@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: kvm@vger.kernel.org, Marcelo Tosatti , Sheng Yang To: Avi Kivity Return-path: Received: from sg2ehsobe004.messaging.microsoft.com ([207.46.51.78]:21783 "EHLO SG2EHSOBE004.bigfish.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754338AbZFBJbF convert rfc822-to-8bit (ORCPT ); Tue, 2 Jun 2009 05:31:05 -0400 Content-Disposition: inline In-Reply-To: <4A24EC3D.9020507@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Jun 02, 2009 at 12:09:17PM +0300, Avi Kivity wrote: > Joerg Roedel wrote: >> On Mon, Jun 01, 2009 at 04:22:03PM +0300, Avi Kivity wrote: >> =20 >>> +static void svm_cache_reg(struct kvm_vcpu *vcpu, enum kvm_reg reg) >>> +{ >>> + switch (reg) { >>> + case VCPU_EXREG_PDPTR: >>> + BUG_ON(!npt_enabled); >>> + load_pdptrs(vcpu, vcpu->arch.cr3); >>> + break; >>> + default: >>> + BUG(); >>> + } >>> +} >>> =20 >> >> Don't we need to check for the return value of load_pdptrs() here an= d inject >> a #GP it it fails? >> =20 > > We're after some random exit, the guest won't be expecting a #GP in s= ome =20 > random instruction. > > The only options are ignore and triple fault. Thats not different from PAE with NPT anyways. With NPT the hardware does not load all four pdptrs on cr3 switch time, only when they are used. Joerg --=20 | Advanced Micro Devices GmbH Operating | Karl-Hammerschmidt-Str. 34, 85609 Dornach bei M=FCnchen System |=20 Research | Gesch=E4ftsf=FChrer: Thomas M. McCoy, Giuliano Meroni Center | Sitz: Dornach, Gemeinde Aschheim, Landkreis M=FCnchen | Registergericht M=FCnchen, HRB Nr. 43632