From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 3/3] KVM: Cache pdptrs Date: Tue, 02 Jun 2009 12:44:56 +0300 Message-ID: <4A24F498.80209@redhat.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> <20090602093043.GO4062@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, Marcelo Tosatti , Sheng Yang To: Joerg Roedel Return-path: Received: from mx2.redhat.com ([66.187.237.31]:47689 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753111AbZFBJo6 (ORCPT ); Tue, 2 Jun 2009 05:44:58 -0400 In-Reply-To: <20090602093043.GO4062@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: Joerg Roedel wrote: > 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: >>> >>> >>>> +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(); >>>> + } >>>> +} >>>> >>>> >>> Don't we need to check for the return value of load_pdptrs() here and inject >>> a #GP it it fails? >>> >>> >> We're after some random exit, the guest won't be expecting a #GP in some >> 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. > That will at least cause a page fault on a related instruction. But we can't #GP on a random exit. -- error compiling committee.c: too many arguments to function