diff options
author | Jes Sorensen <jes@sgi.com> | 2007-10-21 21:03:31 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-23 01:49:52 -0400 |
commit | b410e7b1499c49513cab18275db8a8ab549d9e09 (patch) | |
tree | 8a71fa34660f5ccc9d71677137c5ae211a38bbf2 /include/asm-x86 | |
parent | cc6d4fbcef328acdc9fa7023e69f39f753f72fe1 (diff) |
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')
-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 @@ | |||
2 | #ifndef _X86_LGUEST_HCALL_H | 2 | #ifndef _X86_LGUEST_HCALL_H |
3 | #define _X86_LGUEST_HCALL_H | 3 | #define _X86_LGUEST_HCALL_H |
4 | 4 | ||
5 | #include <asm/hw_irq.h> | ||
6 | |||
5 | #define LHCALL_FLUSH_ASYNC 0 | 7 | #define LHCALL_FLUSH_ASYNC 0 |
6 | #define LHCALL_LGUEST_INIT 1 | 8 | #define LHCALL_LGUEST_INIT 1 |
7 | #define LHCALL_CRASH 2 | 9 | #define LHCALL_CRASH 2 |
@@ -59,9 +61,9 @@ void async_hcall(unsigned long call, | |||
59 | #define LGUEST_IRQS (NR_IRQS < 32 ? NR_IRQS: 32) | 61 | #define LGUEST_IRQS (NR_IRQS < 32 ? NR_IRQS: 32) |
60 | 62 | ||
61 | #define LHCALL_RING_SIZE 64 | 63 | #define LHCALL_RING_SIZE 64 |
62 | struct hcall_ring | 64 | struct hcall_args |
63 | { | 65 | { |
64 | u32 eax, edx, ebx, ecx; | 66 | /* These map directly onto eax, ebx, ecx, edx in struct lguest_regs */ |
67 | unsigned long arg0, arg2, arg3, arg1; | ||
65 | }; | 68 | }; |
66 | |||
67 | #endif /* _I386_LGUEST_HCALL_H */ | 69 | #endif /* _I386_LGUEST_HCALL_H */ |