|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-changelog
[Xen-changelog] [xen-unstable] Define REX64_PREFIX to account for	assemb
 
# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID 025e19453f1a032082f120c40d81ede69c9a4bb8
# Parent  c4cc70c320776ba7693346df0bd4a817dc9f1193
Define REX64_PREFIX to account for assembler syntax differences on SVR4 targets.
Signed-off-by: John Levon <john.levon@xxxxxxx>
---
 xen/arch/x86/i387.c                    |    9 +++++----
 xen/include/asm-x86/x86_64/asm_defns.h |    6 ++++++
 2 files changed, 11 insertions(+), 4 deletions(-)
diff -r c4cc70c32077 -r 025e19453f1a xen/arch/x86/i387.c
--- a/xen/arch/x86/i387.c       Tue Oct 17 18:45:18 2006 +0100
+++ b/xen/arch/x86/i387.c       Tue Oct 17 18:50:08 2006 +0100
@@ -14,6 +14,7 @@
 #include <asm/processor.h>
 #include <asm/hvm/support.h>
 #include <asm/i387.h>
+#include <asm/asm_defns.h>
 
 void init_fpu(void)
 {
@@ -41,11 +42,11 @@ void save_init_fpu(struct vcpu *v)
 #else /* __x86_64__ */
         /*
          * The only way to force fxsaveq on a wide range of gas versions. On 
-         * older versions the rex64 prefix works only if we force an 
addressing 
-         * mode that doesn't require extended registers.
+         * older versions the rex64 prefix works only if we force an
+         * addressing mode that doesn't require extended registers.
          */
         __asm__ __volatile__ (
-            "rex64/fxsave (%1)"
+            REX64_PREFIX "fxsave (%1)"
             : "=m" (*fpu_ctxt) : "cdaSDb" (fpu_ctxt) );
 #endif
 
@@ -95,7 +96,7 @@ void restore_fpu(struct vcpu *v)
             "1: fxrstor %0            \n"
 #else /* __x86_64__ */
             /* See above for why the operands/constraints are this way. */
-            "1: rex64/fxrstor (%2)    \n"
+            "1: " REX64_PREFIX "fxrstor (%2)\n"
 #endif
             ".section .fixup,\"ax\"   \n"
             "2: push %%"__OP"ax       \n"
diff -r c4cc70c32077 -r 025e19453f1a xen/include/asm-x86/x86_64/asm_defns.h
--- a/xen/include/asm-x86/x86_64/asm_defns.h    Tue Oct 17 18:45:18 2006 +0100
+++ b/xen/include/asm-x86/x86_64/asm_defns.h    Tue Oct 17 18:50:08 2006 +0100
@@ -60,6 +60,12 @@
 #define safe_swapgs                             \
         "mfence; swapgs;"
 
+#ifdef __sun__
+#define REX64_PREFIX "rex64\\"
+#else
+#define REX64_PREFIX "rex64/"
+#endif
+
 #define BUILD_SMP_INTERRUPT(x,v) XBUILD_SMP_INTERRUPT(x,v)
 #define XBUILD_SMP_INTERRUPT(x,v)               \
 asmlinkage void x(void);                        \
_______________________________________________
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] Define REX64_PREFIX to account for	assembler syntax differences on SVR4 targets.,
Xen patchbot-unstable <=
  
 |  
  
 | 
    | 
  
  
    |   | 
    |