From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH 1/1] correctly handle VM Entry Exit reasons and also show them in trace. Date: Mon, 19 Apr 2010 12:24:41 +0300 Message-ID: <4BCC2159.2090605@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org To: Manish Regmi Return-path: Received: from mx1.redhat.com ([209.132.183.28]:40798 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751018Ab0DSJYo (ORCPT ); Mon, 19 Apr 2010 05:24:44 -0400 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: On 04/18/2010 09:35 AM, Manish Regmi wrote: > Hi, > When the vm exit reason is VM Entry failures it has leftmost bit set. > This patch > - clears the leftmost bit when copying to vmx->exit_reason. This will > make the checks like if ((vmx->exit_reason == > EXIT_REASON_MCE_DURING_VMENTRY) valid in vmx_complete_interrupts. > - adds two more EXIT_REASONS 33 and 34 in vmx.h > - also adds them to exit reason strings. > > Please let me know if there is anything missing or wrong. Thank you. > > The patch is wordwrapped. Please use git send-email or equivalent. > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 7e2f8d5..e93be6f 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -3641,7 +3641,7 @@ static void vmx_complete_interrupts(struct vcpu_vmx *vmx) > > exit_intr_info = vmcs_read32(VM_EXIT_INTR_INFO); > > - vmx->exit_reason = vmcs_read32(VM_EXIT_REASON); > + vmx->exit_reason = vmcs_read32(VM_EXIT_REASON)& > ~VMX_EXIT_REASONS_FAILED_VMENTRY; > (here for example) > /* Handle machine checks before interrupts are enabled */ > if ((vmx->exit_reason == EXIT_REASON_MCE_DURING_VMENTRY) > @@ -4057,6 +4057,8 @@ static const struct trace_print_flags > vmx_exit_reasons_str[] = { > _ER(IO_INSTRUCTION), > _ER(MSR_READ), > _ER(MSR_WRITE), > + _ER(INVALID_GUEST_STATE), > + _ER(MSR_LOADING), > _ER(MWAIT_INSTRUCTION), > _ER(MONITOR_INSTRUCTION), > _ER(PAUSE_INSTRUCTION), > Please split the new exit codes into a separate patch. -- error compiling committee.c: too many arguments to function