x86-64: fix restoring of hypercall arguments after trace callout
authorKeir Fraser <keir@xen.org>
Wed, 15 Dec 2010 12:09:41 +0000 (12:09 +0000)
committerKeir Fraser <keir@xen.org>
Wed, 15 Dec 2010 12:09:41 +0000 (12:09 +0000)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/x86_64/entry.S

index 05290484ec1e27547e64dad20f4465afe0f2eea3..70471ecfc6cd7c80217ef539006f9052fcc6337a 100644 (file)
@@ -160,8 +160,8 @@ ENTRY(syscall_enter)
         movq  UREGS_rsi+SHADOW_BYTES(%rsp),%rsi   /* Arg 2        */
         movq  UREGS_rdx+SHADOW_BYTES(%rsp),%rdx   /* Arg 3        */
         movq  UREGS_r10+SHADOW_BYTES(%rsp),%rcx   /* Arg 4        */
-        movq  UREGS_rdi+SHADOW_BYTES(%rsp),%r8    /* Arg 5        */
-        movq  UREGS_rbp+SHADOW_BYTES(%rsp),%r9    /* Arg 6        */
+        movq  UREGS_r+SHADOW_BYTES(%rsp),%r8    /* Arg 5        */
+        movq  UREGS_r+SHADOW_BYTES(%rsp),%r9    /* Arg 6        */
 #undef SHADOW_BYTES
 1:      leaq  hypercall_table(%rip),%r10
         PERFC_INCR(PERFC_hypercalls, %rax, %rbx)