Paolo Bonzini <[email protected]> writes:

> We can immediately leave SVM guest mode in svm_check_nested_events
> now that we have the nested_run_pending mechanism.  This makes
> things easier because we can run the rest of inject_pending_event
> with GIF=0, and KVM will naturally end up requesting the next
> interrupt window.
>
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
>  arch/x86/kvm/svm/nested.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
> index e69e60ac1370..266fde240493 100644
> --- a/arch/x86/kvm/svm/nested.c
> +++ b/arch/x86/kvm/svm/nested.c
> @@ -778,13 +778,13 @@ int nested_svm_check_exception(struct vcpu_svm *svm, 
> unsigned nr,
>  
>  static void nested_svm_intr(struct vcpu_svm *svm)
>  {
> +     trace_kvm_nested_intr_vmexit(svm->vmcb->save.rip);
> +
>       svm->vmcb->control.exit_code   = SVM_EXIT_INTR;
>       svm->vmcb->control.exit_info_1 = 0;
>       svm->vmcb->control.exit_info_2 = 0;
>  
> -     /* nested_svm_vmexit this gets called afterwards from handle_exit */
> -     svm->nested.exit_required = true;
> -     trace_kvm_nested_intr_vmexit(svm->vmcb->save.rip);
> +     nested_svm_vmexit(svm);
>  }
>  
>  static bool nested_exit_on_intr(struct vcpu_svm *svm)

Sorry for reporting this late but I just found out that this commit
breaks Hyper-V 2016 on KVM on SVM completely (always hangs on boot). I
haven't investigated it yet (well, this is Windows, you know...) but
what's usually different about Hyper-V is that unlike KVM/Linux it has
handlers for some hardware interrupts in the guest and not in the
hypervisor.

-- 
Vitaly

Reply via email to