summaryrefslogtreecommitdiff
path: root/drivers/lguest/lg.h
diff options
context:
space:
mode:
authorJes Sorensen <jes@sgi.com>2007-10-22 11:03:31 +1000
committerRusty Russell <rusty@rustcorp.com.au>2007-10-23 15:49:52 +1000
commitb410e7b1499c49513cab18275db8a8ab549d9e09 (patch)
tree8a71fa34660f5ccc9d71677137c5ae211a38bbf2 /drivers/lguest/lg.h
parentcc6d4fbcef328acdc9fa7023e69f39f753f72fe1 (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 'drivers/lguest/lg.h')
-rw-r--r--drivers/lguest/lg.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h
index 662994b776cc..00c869bd9f79 100644
--- a/drivers/lguest/lg.h
+++ b/drivers/lguest/lg.h
@@ -107,7 +107,7 @@ struct lguest
u8 ss1;
/* If a hypercall was asked for, this points to the arguments. */
- struct lguest_regs *hcall;
+ struct hcall_args *hcall;
/* Do we need to stop what we're doing and return to userspace? */
int break_out;
@@ -197,6 +197,8 @@ void lguest_arch_host_init(void);
void lguest_arch_host_fini(void);
void lguest_arch_run_guest(struct lguest *lg);
void lguest_arch_handle_trap(struct lguest *lg);
+int lguest_arch_init_hypercalls(struct lguest *lg);
+int lguest_arch_do_hcall(struct lguest *lg, struct hcall_args *args);
/* <arch>/switcher.S: */
extern char start_switcher_text[], end_switcher_text[], switch_to_guest[];