From b410e7b1499c49513cab18275db8a8ab549d9e09 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Mon, 22 Oct 2007 11:03:31 +1000 Subject: Make hypercalls arch-independent. Clean up the hypercall code to make the code in hypercalls.c architecture independent. First process the common hypercalls and then call lguest_arch_do_hcall() if the call hasn't been handled. Rename struct hcall_ring to hcall_args. This patch requires the previous patch which reorganize the layout of struct lguest_regs on i386 so they match the layout of struct hcall_args. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell --- include/asm-x86/lguest_hcall.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'include/asm-x86') diff --git a/include/asm-x86/lguest_hcall.h b/include/asm-x86/lguest_hcall.h index 7859cfe0ebb..8f2a1edc4fe 100644 --- a/include/asm-x86/lguest_hcall.h +++ b/include/asm-x86/lguest_hcall.h @@ -2,6 +2,8 @@ #ifndef _X86_LGUEST_HCALL_H #define _X86_LGUEST_HCALL_H +#include + #define LHCALL_FLUSH_ASYNC 0 #define LHCALL_LGUEST_INIT 1 #define LHCALL_CRASH 2 @@ -59,9 +61,9 @@ void async_hcall(unsigned long call, #define LGUEST_IRQS (NR_IRQS < 32 ? NR_IRQS: 32) #define LHCALL_RING_SIZE 64 -struct hcall_ring +struct hcall_args { - u32 eax, edx, ebx, ecx; + /* These map directly onto eax, ebx, ecx, edx in struct lguest_regs */ + unsigned long arg0, arg2, arg3, arg1; }; - #endif /* _I386_LGUEST_HCALL_H */ -- cgit v1.2.3-70-g09d2