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

[Xen-devel] [PATCH] Fix Restoring Registers after trace_hypercall()

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] Fix Restoring Registers after trace_hypercall()
From: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>
Date: Tue, 23 Oct 2007 16:11:00 +0900
Delivery-date: Tue, 23 Oct 2007 00:11:38 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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
User-agent: Thunderbird 2.0.0.6 (Windows/20070728)
Hi,

This is a patch to correctly restore registers
after trace_hypercall() called on x86_32 debug build.

Regards,
-------------------
Yosuke Iwamatsu
        NEC Corporation



# HG changeset patch
# User Yosuke Iwamatsu
# Date 1193122819 -32400
# Node ID 1edbdb2882b2efe111c8918eea82376bba9a4a0f
# Parent  118a21c66fd53a08d7191159e5b2888f8d9e4ad2
Fix Restoring Registers after trace_hypercall()

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@xxxxxxxxxxxxx>

diff -r 118a21c66fd5 -r 1edbdb2882b2 xen/arch/x86/x86_32/entry.S
--- a/xen/arch/x86/x86_32/entry.S       Mon Oct 22 21:06:11 2007 +0100
+++ b/xen/arch/x86/x86_32/entry.S       Tue Oct 23 16:00:19 2007 +0900
@@ -198,7 +198,11 @@ 1:      sti
         je    tracing_off
         call  trace_hypercall
         /* Now restore all the registers that trace_hypercall clobbered */
+#ifndef NDEBUG
+        movl  UREGS_eax+32(%esp),%eax /* Hypercall # */
+#else
         movl  UREGS_eax+24(%esp),%eax /* Hypercall # */
+#endif
 tracing_off:
         call *hypercall_table(,%eax,4)
         addl  $24,%esp     # Discard the shadow parameters
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] Fix Restoring Registers after trace_hypercall(), Yosuke Iwamatsu <=