From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Roedel, Joerg" Subject: Re: [PATCH] kvm/svm: fix DR interception handling on upcoming AMD CPUs Date: Wed, 9 Feb 2011 11:01:16 +0100 Message-ID: <20110209100115.GB26519@amd.com> References: <1297210949-13240-1-git-send-email-andre.przywara@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: "avi@redhat.com" , "mtosatti@redhat.com" , "kvm@vger.kernel.org" To: Andre Przywara Return-path: Received: from db3ehsobe003.messaging.microsoft.com ([213.199.154.141]:36497 "EHLO DB3EHSOBE003.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753750Ab1BIKB0 (ORCPT ); Wed, 9 Feb 2011 05:01:26 -0500 Content-Disposition: inline In-Reply-To: <1297210949-13240-1-git-send-email-andre.przywara@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Feb 08, 2011 at 07:22:29PM -0500, Andre Przywara wrote: > Somehow the code line advancing the RIP and checking for exceptions > got dropped between the post on the ML and the commit. > Add it again to let guests boot on upcoming AMD CPUs again. > > Reported-by: Joerg Roedel > Signed-off-by: Andre Przywara > --- > arch/x86/kvm/svm.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 25bd1bc..be06e58 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -2776,6 +2776,7 @@ static int dr_interception(struct vcpu_svm *svm) > if (!err) > kvm_register_write(&svm->vcpu, reg, val); > } > + kvm_complete_insn_gp(&svm->vcpu, err); Any exception check takes presedence over the intercept. So a call to skip_emulated_instruction should be sufficient here. Joerg -- AMD Operating System Research Center Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach General Managers: Alberto Bozzo, Andrew Bowd Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632