Skip to contentSkip to conversation

Fix Restoring Registers after trace_hypercall()

PATCH New Yosuke Iwamatsu 1 participant 1 message Oct 23, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix Restoring Registers after trace_hypercall()

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()

xen/arch/x86/x86_32/entry.S +4 -0
diff -r 118a21c66fd5 -r 1edbdb2882b2 xen/arch/x86/x86_32/entry.S
@@ -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
[email protected]
http://lists.xensource.com/xen-devel