[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86: Fix multicall handling for 6-arg hypercalls.
# HG changeset patch # User Keir Fraser <keir@xxxxxxx> # Date 1292412088 0 # Node ID c0662cb08260d831ae8d211ba16fc7038cb889b6 # Parent 532d4a2d197ecc81343d98ed97c71d7cd12cef63 x86: Fix multicall handling for 6-arg hypercalls. None exist at the moment, but this makes multicall handling consistent with direct PV and HVM hypercall handling. Signed-off-by: Keir Fraser <keir@xxxxxxx> --- xen/include/asm-x86/multicall.h | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) diff -r 532d4a2d197e -r c0662cb08260 xen/include/asm-x86/multicall.h --- a/xen/include/asm-x86/multicall.h Wed Dec 15 11:17:41 2010 +0000 +++ b/xen/include/asm-x86/multicall.h Wed Dec 15 11:21:28 2010 +0000 @@ -22,6 +22,7 @@ " movq %c2+2*%c3(%0),%%rdx; " \ " movq %c2+3*%c3(%0),%%rcx; " \ " movq %c2+4*%c3(%0),%%r8; " \ + " movq %c2+5*%c3(%0),%%r9; " \ " callq *%%rax; " \ "1: movq %%rax,%c4(%0)\n" \ ".section .fixup,\"ax\"\n" \ @@ -51,6 +52,7 @@ " movl %c2+2*%c3(%0),%%edx; " \ " movl %c2+3*%c3(%0),%%ecx; " \ " movl %c2+4*%c3(%0),%%r8d; " \ + " movl %c2+5*%c3(%0),%%r9d; " \ " callq *%%rax; " \ "1: movl %%eax,%c4(%0)\n" \ ".section .fixup,\"ax\"\n" \ @@ -72,6 +74,7 @@ #define do_multicall_call(_call) \ __asm__ __volatile__ ( \ " movl %c1(%0),%%eax; " \ + " pushl %c2+5*%c3(%0); " \ " pushl %c2+4*%c3(%0); " \ " pushl %c2+3*%c3(%0); " \ " pushl %c2+2*%c3(%0); " \ @@ -81,7 +84,7 @@ " jae 2f; " \ " call *hypercall_table(,%%eax,4); " \ "1: movl %%eax,%c4(%0); " \ - " addl $20,%%esp\n" \ + " addl $24,%%esp\n" \ ".section .fixup,\"ax\"\n" \ "2: movl $-"STR(ENOSYS)",%%eax\n" \ " jmp 1b\n" \ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |