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

[Xen-changelog] Fix 64-bit build and fix the transfer-page code for the



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 63d9f45b271ddbbb64049ecde8b40d488bdcd77c
# Parent  2b4b1963b76e5a9503304f3cd690fb8358a57b4e
Fix 64-bit build and fix the transfer-page code for the
iret hypercall.

Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r 2b4b1963b76e -r 63d9f45b271d 
linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h Tue Jan 24 
17:08:11 2006
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h Wed Jan 25 
10:08:33 2006
@@ -43,6 +43,7 @@
        asm volatile (                          \
                "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
                : "=a" (__res)                  \
+               :                               \
                : "memory" );                   \
        (type)__res;                            \
 })
diff -r 2b4b1963b76e -r 63d9f45b271d 
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Tue Jan 
24 17:08:11 2006
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Wed Jan 
25 10:08:33 2006
@@ -46,6 +46,7 @@
        asm volatile (                          \
                "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
                : "=a" (__res)                  \
+               :                               \
                : "memory" );                   \
        (type)__res;                            \
 })
@@ -284,12 +285,6 @@
        int cmd, int vcpuid, void *extra_args)
 {
        return _hypercall3(int, vcpu_op, cmd, vcpuid, extra_args);
-}
-
-static inline int
-HYPERVISOR_iret(void)
-{
-       return _hypercall0(int, iret);
 }
 
 static inline int
diff -r 2b4b1963b76e -r 63d9f45b271d xen/arch/x86/x86_64/traps.c
--- a/xen/arch/x86/x86_64/traps.c       Tue Jan 24 17:08:11 2006
+++ b/xen/arch/x86/x86_64/traps.c       Wed Jan 25 10:08:33 2006
@@ -293,9 +293,9 @@
      * calling it.
      */
     p = (char *)(hypercall_page + (__HYPERVISOR_iret * 32));
-    *(u8  *)(p+ 0) = 0x50;    /* push %rax */
-    *(u8  *)(p+ 1) = 0x51;    /* push %rcx */
-    *(u16 *)(p+ 2) = 0x5341;  /* push %r11 */
+    *(u8  *)(p+ 0) = 0x51;    /* push %rcx */
+    *(u16 *)(p+ 1) = 0x5341;  /* push %r11 */
+    *(u8  *)(p+ 3) = 0x50;    /* push %rax */
     *(u8  *)(p+ 4) = 0xb8;    /* mov  $__HYPERVISOR_iret,%eax */
     *(u32 *)(p+ 5) = __HYPERVISOR_iret;
     *(u16 *)(p+ 9) = 0x050f;  /* syscall */

_______________________________________________
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®.