[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |