WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [RFC] x86: more debugging adjustments

To: Jan Beulich <jbeulich@xxxxxxxxxx>
Subject: Re: [Xen-devel] [RFC] x86: more debugging adjustments
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Thu, 22 Nov 2007 16:14:01 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 22 Nov 2007 08:14:54 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <4745B289.76E4.0078.0@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcgtIrF98EtsDJkVEdybPwAX8io7RQ==
Thread-topic: [Xen-devel] [RFC] x86: more debugging adjustments
User-agent: Microsoft-Entourage/11.3.6.070618
On 22/11/07 15:47, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

>> * Why do some instruction emulations pass NULL to update_guest_eip() and
>> hence bypass #DB injection? That seems bogus.
> 
> That's intentional (to a certain degree): Especially for the HLT case I wasn't
> really certain injecting an exception here would have the intended effect.
> I'm pretty sure you'd have to suppress the normal HLT handling in that case,
> and it seemed safer for a first cut to not inject an exception at all here
> (thus
> simply retaining current behavior for this special case).
> For SVM's VMEXIT_EXCEPTION_BP case it seems certainly wrong to inject
> one.

Ah, you could be right. I don't have that much experience with EFLAGS.TF,
but from the reference manuals it looks rather as if, on return from an
exception or interrupt, when EFLAGS.TF is re-set by IRET, you actually do
not #DB with EIP pointing at the instruction you IRET to? And this is
because single-step #DB is a trap? Also I suppose that a software exception
or interrupt causes single-step #DB to be skipped when you actually execute
INT n, INT3, INTO or whatever. So you effectively never see single-step #DB
with EIP pointing at the instruction following one of those INT
instructions?

I suppose I could validate this for myself. :-)

Anyway, apart from that the patches are fine. Re-submit with Signed-off-by
lines and I'll drop them in.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>