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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html