[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Multicall macro should mark all caller-saved registers as clobbered



ChangeSet 1.1697, 2005/06/09 14:27:17+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Multicall macro should mark all caller-saved registers as clobbered
        across the function call.
        Signed-off-by: Scott Parish <srparish@xxxxxxxxxx>



 multicall.h |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


diff -Nru a/xen/include/asm-x86/multicall.h b/xen/include/asm-x86/multicall.h
--- a/xen/include/asm-x86/multicall.h   2005-06-09 10:03:00 -04:00
+++ b/xen/include/asm-x86/multicall.h   2005-06-09 10:03:00 -04:00
@@ -24,7 +24,9 @@
             "callq *(%%rax); "                           \
             "movq  %%rax,"STR(MULTICALL_result)"(%0); "  \
             : : "b" (_call)                              \
-            : "rax", "rdi", "rsi", "rdx", "rcx", "r8" ); \
+              /* all the caller-saves registers */       \
+            : "rax", "rcx", "rdx", "rsi", "rdi",         \
+              "r8",  "r9",  "r10", "r11" );              \
     } while ( 0 )
 
 #else
@@ -42,7 +44,9 @@
             "call  *hypercall_table(,%%eax,4); "       \
             "movl  %%eax,"STR(MULTICALL_result)"(%0); "\
             "addl  $20,%%esp; "                        \
-            : : "b" (_call) : "eax", "ecx", "edx" );   \
+            : : "b" (_call)                            \
+              /* all the caller-saves registers */     \
+            : "eax", "ecx", "edx" );                   \
     } while ( 0 )
 
 #endif

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.