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-changelog

[Xen-changelog] [xen-unstable] x86: Do not clear EF.TF in crash-debug mo

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: Do not clear EF.TF in crash-debug mode.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Aug 2009 00:40:14 -0700
Delivery-date: Fri, 14 Aug 2009 00:40:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1250234554 -3600
# Node ID 042e2103c3a2dfe48d7696905946afb2d9d99300
# Parent  da620c4549166a436424fecf922d14f35d2522b7
x86: Do not clear EF.TF in crash-debug mode.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 xen/arch/x86/traps.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff -r da620c454916 -r 042e2103c3a2 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c      Thu Aug 13 08:40:39 2009 +0100
+++ b/xen/arch/x86/traps.c      Fri Aug 14 08:22:34 2009 +0100
@@ -3005,16 +3005,18 @@ asmlinkage void do_debug(struct cpu_user
             void sysenter_eflags_saved(void);
             /* In SYSENTER entry path we can't zap TF until EFLAGS is saved. */
             if ( (regs->rip >= (unsigned long)sysenter_entry) &&
-                 (regs->rip < (unsigned long)sysenter_eflags_saved) )
+                 (regs->rip <= (unsigned long)sysenter_eflags_saved) )
+            {
+                if ( regs->rip == (unsigned long)sysenter_eflags_saved )
+                    regs->eflags &= ~EF_TF;
                 goto out;
-            if ( (regs->rip != (unsigned long)sysenter_eflags_saved) &&
-                 !debugger_trap_fatal(TRAP_debug, regs) )
+            }
+#endif
+            if ( !debugger_trap_fatal(TRAP_debug, regs) )
+            {
                 WARN_ON(1);
-#else
-            if ( !debugger_trap_fatal(TRAP_debug, regs) )
-                WARN_ON(1);
-#endif
-            regs->eflags &= ~EF_TF;
+                regs->eflags &= ~EF_TF;
+            }
         }
         else
         {

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: Do not clear EF.TF in crash-debug mode., Xen patchbot-unstable <=