diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-22 11:24:10 +1000 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-23 15:49:55 +1000 |
commit | 15045275c32bf6d15d32c2eca8157be9c0ba6e45 (patch) | |
tree | 32ef90c875b22cb1bbb94e38f557a690f1c0c6f8 /drivers/lguest/lg.h | |
parent | 0ca49ca946409f87a8cd0b14d5acb6dea58de6f3 (diff) | |
download | lwn-15045275c32bf6d15d32c2eca8157be9c0ba6e45.tar.gz lwn-15045275c32bf6d15d32c2eca8157be9c0ba6e45.zip |
Remove old lguest I/O infrrasructure.
This patch gets rid of the old lguest host I/O infrastructure and
replaces it with a single hypercall "LHCALL_NOTIFY" which takes an
address.
The main change is the removal of io.c: that mainly did inter-guest
I/O, which virtio doesn't yet support.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/lguest/lg.h')
-rw-r--r-- | drivers/lguest/lg.h | 27 |
1 files changed, 1 insertions, 26 deletions
diff --git a/drivers/lguest/lg.h b/drivers/lguest/lg.h index e4845d7f0688..4d45b7036e82 100644 --- a/drivers/lguest/lg.h +++ b/drivers/lguest/lg.h @@ -5,7 +5,6 @@ #include <linux/types.h> #include <linux/init.h> #include <linux/stringify.h> -#include <linux/futex.h> #include <linux/lguest.h> #include <linux/lguest_launcher.h> #include <linux/wait.h> @@ -17,17 +16,6 @@ void free_pagetables(void); int init_pagetables(struct page **switcher_page, unsigned int pages); -struct lguest_dma_info -{ - struct list_head list; - union futex_key key; - unsigned long dmas; - struct lguest *owner; - u16 next_dma; - u16 num_dmas; - u8 interrupt; /* 0 when not registered */ -}; - struct pgdir { unsigned long gpgdir; @@ -90,15 +78,11 @@ struct lguest struct task_struct *wake; unsigned long noirq_start, noirq_end; - int dma_is_pending; - unsigned long pending_dma; /* struct lguest_dma */ - unsigned long pending_key; /* address they're sending to */ + unsigned long pending_notify; /* pfn from LHCALL_NOTIFY */ unsigned int stack_pages; u32 tsc_khz; - struct lguest_dma_info dma[LGUEST_MAX_DMA]; - /* Dead? */ const char *dead; @@ -184,15 +168,6 @@ extern char start_switcher_text[], end_switcher_text[], switch_to_guest[]; int lguest_device_init(void); void lguest_device_remove(void); -/* io.c: */ -void lguest_io_init(void); -int bind_dma(struct lguest *lg, - unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt); -void send_dma(struct lguest *info, unsigned long key, unsigned long udma); -void release_all_dma(struct lguest *lg); -unsigned long get_dma_buffer(struct lguest *lg, unsigned long key, - unsigned long *interrupt); - /* hypercalls.c: */ void do_hypercalls(struct lguest *lg); void write_timestamp(struct lguest *lg); |