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] [IA64] Fix multicall hypercall

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [IA64] Fix multicall hypercall
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 18 Jan 2007 21:10:55 -0800
Delivery-date: Thu, 18 Jan 2007 21:13:34 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/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 awilliam@xxxxxxxxxxxx
# Date 1168811931 25200
# Node ID 43c5302ee92dc0a12df02084c07e6172f2b6ebe8
# Parent  809043a22786e2b31972577e1aca881ae6683a06
[IA64] Fix multicall hypercall

Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>
---
 xen/arch/ia64/linux-xen/entry.S  |    9 +++++++++
 xen/include/asm-ia64/multicall.h |   12 ++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

diff -r 809043a22786 -r 43c5302ee92d xen/arch/ia64/linux-xen/entry.S
--- a/xen/arch/ia64/linux-xen/entry.S   Fri Jan 12 13:01:25 2007 -0700
+++ b/xen/arch/ia64/linux-xen/entry.S   Sun Jan 14 14:58:51 2007 -0700
@@ -1472,6 +1472,15 @@ END(unw_init_running)
 END(unw_init_running)
 
 #ifdef XEN
+GLOBAL_ENTRY(ia64_do_multicall_call)
+       movl r2=ia64_hypercall_table;;
+       shladd r2=r38,3,r2;;
+       ld8 r2=[r2];;
+       mov b6=r2
+       br.sptk.many b6;;
+END(ia64_do_multicall_call)
+
+    
        .rodata
        .align 8
        .globl ia64_hypercall_table
diff -r 809043a22786 -r 43c5302ee92d xen/include/asm-ia64/multicall.h
--- a/xen/include/asm-ia64/multicall.h  Fri Jan 12 13:01:25 2007 -0700
+++ b/xen/include/asm-ia64/multicall.h  Sun Jan 14 14:58:51 2007 -0700
@@ -4,26 +4,26 @@
 #include <public/xen.h>
 #include <xen/errno.h>
 
-typedef unsigned long (*hypercall_t)(
+extern unsigned long ia64_do_multicall_call(
                        unsigned long arg0,
                        unsigned long arg1,
                        unsigned long arg2,
                        unsigned long arg3,
                        unsigned long arg4,
-                       unsigned long arg5);
-
-extern const hypercall_t ia64_hypercall_table[];
+                       unsigned long arg5,
+                       unsigned long op);
 
 static inline void do_multicall_call(multicall_entry_t *call)
 {
        if (call->op < NR_hypercalls)
-               call->result = (*ia64_hypercall_table[call->op])(
+               call->result = ia64_do_multicall_call(
                        call->args[0],
                        call->args[1],
                        call->args[2],
                        call->args[3],
                        call->args[4],
-                       call->args[5]);
+                       call->args[5],
+                       call->op);
        else
                call->result = -ENOSYS;
 }

_______________________________________________
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] [IA64] Fix multicall hypercall, Xen patchbot-unstable <=