diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-21 21:24:10 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-23 01:49:55 -0400 |
commit | 15045275c32bf6d15d32c2eca8157be9c0ba6e45 (patch) | |
tree | 32ef90c875b22cb1bbb94e38f557a690f1c0c6f8 /drivers/lguest/lg.h | |
parent | 0ca49ca946409f87a8cd0b14d5acb6dea58de6f3 (diff) |
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 @@ | |||
5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
6 | #include <linux/init.h> | 6 | #include <linux/init.h> |
7 | #include <linux/stringify.h> | 7 | #include <linux/stringify.h> |
8 | #include <linux/futex.h> | ||
9 | #include <linux/lguest.h> | 8 | #include <linux/lguest.h> |
10 | #include <linux/lguest_launcher.h> | 9 | #include <linux/lguest_launcher.h> |
11 | #include <linux/wait.h> | 10 | #include <linux/wait.h> |
@@ -17,17 +16,6 @@ | |||
17 | void free_pagetables(void); | 16 | void free_pagetables(void); |
18 | int init_pagetables(struct page **switcher_page, unsigned int pages); | 17 | int init_pagetables(struct page **switcher_page, unsigned int pages); |
19 | 18 | ||
20 | struct lguest_dma_info | ||
21 | { | ||
22 | struct list_head list; | ||
23 | union futex_key key; | ||
24 | unsigned long dmas; | ||
25 | struct lguest *owner; | ||
26 | u16 next_dma; | ||
27 | u16 num_dmas; | ||
28 | u8 interrupt; /* 0 when not registered */ | ||
29 | }; | ||
30 | |||
31 | struct pgdir | 19 | struct pgdir |
32 | { | 20 | { |
33 | unsigned long gpgdir; | 21 | unsigned long gpgdir; |
@@ -90,15 +78,11 @@ struct lguest | |||
90 | struct task_struct *wake; | 78 | struct task_struct *wake; |
91 | 79 | ||
92 | unsigned long noirq_start, noirq_end; | 80 | unsigned long noirq_start, noirq_end; |
93 | int dma_is_pending; | 81 | unsigned long pending_notify; /* pfn from LHCALL_NOTIFY */ |
94 | unsigned long pending_dma; /* struct lguest_dma */ | ||
95 | unsigned long pending_key; /* address they're sending to */ | ||
96 | 82 | ||
97 | unsigned int stack_pages; | 83 | unsigned int stack_pages; |
98 | u32 tsc_khz; | 84 | u32 tsc_khz; |
99 | 85 | ||
100 | struct lguest_dma_info dma[LGUEST_MAX_DMA]; | ||
101 | |||
102 | /* Dead? */ | 86 | /* Dead? */ |
103 | const char *dead; | 87 | const char *dead; |
104 | 88 | ||
@@ -184,15 +168,6 @@ extern char start_switcher_text[], end_switcher_text[], switch_to_guest[]; | |||
184 | int lguest_device_init(void); | 168 | int lguest_device_init(void); |
185 | void lguest_device_remove(void); | 169 | void lguest_device_remove(void); |
186 | 170 | ||
187 | /* io.c: */ | ||
188 | void lguest_io_init(void); | ||
189 | int bind_dma(struct lguest *lg, | ||
190 | unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt); | ||
191 | void send_dma(struct lguest *info, unsigned long key, unsigned long udma); | ||
192 | void release_all_dma(struct lguest *lg); | ||
193 | unsigned long get_dma_buffer(struct lguest *lg, unsigned long key, | ||
194 | unsigned long *interrupt); | ||
195 | |||
196 | /* hypercalls.c: */ | 171 | /* hypercalls.c: */ |
197 | void do_hypercalls(struct lguest *lg); | 172 | void do_hypercalls(struct lguest *lg); |
198 | void write_timestamp(struct lguest *lg); | 173 | void write_timestamp(struct lguest *lg); |