WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] x86: Fix multicall handling for 6-arg hyp

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86: Fix multicall handling for 6-arg hypercalls.
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 23 Dec 2010 05:34:33 -0800
Delivery-date: Thu, 23 Dec 2010 05:42:43 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86: Fix multicall handling for 6-arg hypercalls., Xen patchbot-unstable <=