From: Gleb Natapov <gleb@redhat.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Avi Kivity <avi@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>, kvm <kvm@vger.kernel.org>
Subject: Re: [PATCH] KVM: VMX: Update instruction length on intercepted BP
Date: Wed, 17 Feb 2010 14:39:39 +0200 [thread overview]
Message-ID: <20100217123939.GT2995@redhat.com> (raw)
In-Reply-To: <4B7BD1E3.2050709@siemens.com>
On Wed, Feb 17, 2010 at 12:24:19PM +0100, Jan Kiszka wrote:
> Gleb Natapov wrote:
> > On Wed, Feb 17, 2010 at 01:11:36PM +0200, Avi Kivity wrote:
> >> On 02/15/2010 03:30 PM, Gleb Natapov wrote:
> >>>> I just did this on our primary AMD platform (Embedded Opteron, 13KS EE),
> >>>> and it just worked.
> >>>>
> >>>> But this is a fairly new processor. Consequently, it reports NextRIP
> >>>> support via cpuid function 0x8000000A. Looking for an older one too.
> >>>>
> >>>> In the meantime I also browsed a bit more in the manuals, and I don't
> >>>> think stepping over or (what is actually required) into an INT3 will
> >>>> work. We can't step into as the processor clears TF on any event handler
> >>>> entry. And stepping over would cause troubles
> >>>>
> >>>> a) as an unknown amount of code may run without #DB interception
> >>>> b) we would fiddle with TF in code that is already under debugger
> >>>> control, thus we would very likely run into conflicts.
> >>>>
> >>>> Leaves us with tricky INT3 emulation. Sigh.
> >>>>
> >>> So the question is do we want to support this kind of debugging on older
> >>> AMDs. May we don't.
> >> How much older are they?
> >>
> > Actually I am not sure new AMDs support this correctly. Need one to run
> > tests. GDB is not a good test case, it is too smart.
>
> It works well - and gdb is far from being "smart": one byte off the
> expected INT3 address, and everything falls apart. That's what the VMX
> bug demonstrated.
>
Simple test on AMD shows the one byte off doesn't matter for GDB, at least as long as
this byte still belong to the same instruction or may be same line of
source code. On VMX something else happens. I can't reproduce problem on
master with VMX since event_exit_inst_len is always 1 when #DB is
reinjected. May be in your test we are much more then 1 byte off on VMX?
--
Gleb.
next prev parent reply other threads:[~2010-02-17 12:39 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-13 9:31 [PATCH] KVM: VMX: Update instruction length on intercepted BP Jan Kiszka
2010-02-14 7:53 ` Gleb Natapov
2010-02-14 10:26 ` Jan Kiszka
2010-02-14 10:34 ` Gleb Natapov
2010-02-14 10:47 ` Jan Kiszka
2010-02-14 11:15 ` Gleb Natapov
2010-02-14 11:39 ` Jan Kiszka
2010-02-14 14:16 ` Avi Kivity
2010-02-14 16:38 ` Jan Kiszka
2010-02-14 16:44 ` Avi Kivity
2010-02-14 17:06 ` Jan Kiszka
2010-02-15 6:48 ` Avi Kivity
2010-02-14 14:45 ` Gleb Natapov
2010-02-14 16:37 ` Jan Kiszka
2010-02-14 16:53 ` Gleb Natapov
2010-02-14 17:06 ` Jan Kiszka
2010-02-14 17:26 ` Gleb Natapov
2010-02-14 17:49 ` Jan Kiszka
2010-02-15 13:20 ` Jan Kiszka
2010-02-15 13:30 ` Gleb Natapov
2010-02-15 14:25 ` Jan Kiszka
2010-02-17 11:11 ` Avi Kivity
2010-02-17 11:13 ` Gleb Natapov
2010-02-17 11:24 ` Jan Kiszka
2010-02-17 12:39 ` Gleb Natapov [this message]
2010-02-17 10:55 ` Gleb Natapov
2010-02-17 11:32 ` Jan Kiszka
2010-02-17 13:03 ` Gleb Natapov
2010-02-17 15:13 ` Jan Kiszka
2010-02-17 16:11 ` Gleb Natapov
2010-02-16 11:20 ` Gleb Natapov
2010-02-16 11:25 ` Gleb Natapov
2010-02-14 12:27 ` Avi Kivity
2010-02-14 12:39 ` Jan Kiszka
2010-02-14 12:43 ` Gleb Natapov
2010-02-14 12:47 ` Avi Kivity
2010-02-14 12:53 ` Gleb Natapov
2010-02-14 13:23 ` Jan Kiszka
2010-02-14 13:29 ` Jan Kiszka
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100217123939.GT2995@redhat.com \
--to=gleb@redhat.com \
--cc=avi@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox