[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Fix multicall hypercall
# 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |