aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/lguest/lg.h
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-10-21 21:24:10 -0400
committerRusty Russell <rusty@rustcorp.com.au>2007-10-23 01:49:55 -0400
commit15045275c32bf6d15d32c2eca8157be9c0ba6e45 (patch)
tree32ef90c875b22cb1bbb94e38f557a690f1c0c6f8 /drivers/lguest/lg.h
parent0ca49ca946409f87a8cd0b14d5acb6dea58de6f3 (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.h27
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 @@
17void free_pagetables(void); 16void free_pagetables(void);
18int init_pagetables(struct page **switcher_page, unsigned int pages); 17int init_pagetables(struct page **switcher_page, unsigned int pages);
19 18
20struct 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
31struct pgdir 19struct 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[];
184int lguest_device_init(void); 168int lguest_device_init(void);
185void lguest_device_remove(void); 169void lguest_device_remove(void);
186 170
187/* io.c: */
188void lguest_io_init(void);
189int bind_dma(struct lguest *lg,
190 unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt);
191void send_dma(struct lguest *info, unsigned long key, unsigned long udma);
192void release_all_dma(struct lguest *lg);
193unsigned long get_dma_buffer(struct lguest *lg, unsigned long key,
194 unsigned long *interrupt);
195
196/* hypercalls.c: */ 171/* hypercalls.c: */
197void do_hypercalls(struct lguest *lg); 172void do_hypercalls(struct lguest *lg);
198void write_timestamp(struct lguest *lg); 173void write_timestamp(struct lguest *lg);