Re: [PATCH] KVM: VMX: Update instruction length on intercepted BP

Gleb Natapov
2010-02-14T12:43:47Z

On Sun, Feb 14, 2010 at 01:39:41PM +0100, Jan Kiszka wrote:
> Avi Kivity wrote:
> > On 02/14/2010 12:34 PM, Gleb Natapov wrote:
> >>>>
> >>>> event_exit_inst_len is only used for event reinjection. Since event
> >>>> intercepted here will not be reinjected why updating
> >>>> event_exit_inst_len
> >>>> is needed here?
> >>>>
> >>> In guest debugging mode a #BP exception is always reported to user space
> >>> to find out what caused it. If it was the guest itself, the exception is
> >>> reinjected, on older kernels via KVM_SET_GUEST_DEBUG and since 2.6.33
> >>> via KVM_SET_VCPU_EVENTS (the latter requires some qemu patch that I will
> >>> post later).
> >>>
> >>> As we currently do not update event_exit_inst_len on #BP exits,
> >>> reinjecting fails unless event_exit_inst_len happens to be 1 from some
> >>> other exit.
> >>>
> >>>
> >> Hmm, how does it work on SVM then where we do not have
> >> event_exit_inst_len so execution will resume on the same rip that caused
> >> #BP after event reinjection?
> >>
> >>
> >
> > Note, newer AMDs do have such a field (nRIP, 0xC8). We need to support
> > older machines, though.
> >
>
> Nice.
>
> [ /me goes updating his manual - September 07... ]
>
I can't find nothing newer then that. What is the link?

--
Gleb.