diff options
author | Jes Sorensen <jes@sgi.com> | 2007-10-22 11:03:31 +1000 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-23 15:49:52 +1000 |
commit | b410e7b1499c49513cab18275db8a8ab549d9e09 (patch) | |
tree | 8a71fa34660f5ccc9d71677137c5ae211a38bbf2 /include/asm-x86/lguest_hcall.h | |
parent | cc6d4fbcef328acdc9fa7023e69f39f753f72fe1 (diff) | |
download | lwn-b410e7b1499c49513cab18275db8a8ab549d9e09.tar.gz lwn-b410e7b1499c49513cab18275db8a8ab549d9e09.zip |
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 <jes@sgi.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'include/asm-x86/lguest_hcall.h')
-rw-r--r-- | include/asm-x86/lguest_hcall.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/include/asm-x86/lguest_hcall.h b/include/asm-x86/lguest_hcall.h index 7859cfe0ebb2..8f2a1edc4fe2 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 <asm/hw_irq.h> + #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 */ |