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 /arch/x86/lguest/boot.c | |
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 'arch/x86/lguest/boot.c')
-rw-r--r-- | arch/x86/lguest/boot.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index c7ebc131fe2c..1040f9b2f997 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c | |||
@@ -146,10 +146,10 @@ void async_hcall(unsigned long call, | |||
146 | /* Table full, so do normal hcall which will flush table. */ | 146 | /* Table full, so do normal hcall which will flush table. */ |
147 | hcall(call, arg1, arg2, arg3); | 147 | hcall(call, arg1, arg2, arg3); |
148 | } else { | 148 | } else { |
149 | lguest_data.hcalls[next_call].eax = call; | 149 | lguest_data.hcalls[next_call].arg0 = call; |
150 | lguest_data.hcalls[next_call].edx = arg1; | 150 | lguest_data.hcalls[next_call].arg1 = arg1; |
151 | lguest_data.hcalls[next_call].ebx = arg2; | 151 | lguest_data.hcalls[next_call].arg2 = arg2; |
152 | lguest_data.hcalls[next_call].ecx = arg3; | 152 | lguest_data.hcalls[next_call].arg3 = arg3; |
153 | /* Arguments must all be written before we mark it to go */ | 153 | /* Arguments must all be written before we mark it to go */ |
154 | wmb(); | 154 | wmb(); |
155 | lguest_data.hcall_status[next_call] = 0; | 155 | lguest_data.hcall_status[next_call] = 0; |