|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Fix 64-bit build and fix the transfer-page code for the,
Xen patchbot -unstable <=
|
|
|
|
|