Re: [PATCH] KVM: svm: support single stepping over emulated instructions

From: Radim KrÄmÃÅ
Date: Wed Aug 02 2017 - 16:13:50 EST


2017-08-02 18:03+0200, Paolo Bonzini:
> Use kvm_skip_emulated_instruction so that debug exceptions are
> properly injected. This fixes debug.flat on AMD machines.
>
> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> ---

We already have b742c1e6e79d ("KVM: SVM: handle singlestep exception
when skipping emulated instructions"), so the only applicable part of
this patch is

> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 0e846f0cb83b..931ba449456e 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -5548,6 +5548,7 @@ static void kvm_vcpu_do_singlestep(struct kvm_vcpu *vcpu, int *r)
> */
> vcpu->arch.dr6 &= ~15;
> vcpu->arch.dr6 |= DR6_BS | DR6_RTM;
> + kvm_update_dr6(vcpu);
> kvm_queue_exception(vcpu, DB_VECTOR);
> }
> }

which makes sense. And shouldn't we do the same for
kvm_vcpu_check_breakpoint()?

Thanks.