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 | |
| 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')
| -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; |
