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>
This commit is contained in:
Rusty Russell
2007-10-22 11:24:10 +10:00
parent 0ca49ca946
commit 15045275c3
8 changed files with 21 additions and 752 deletions

View File

@@ -202,13 +202,12 @@ int run_guest(struct lguest *lg, unsigned long __user *user)
if (lg->hcall)
do_hypercalls(lg);
/* It's possible the Guest did a SEND_DMA hypercall to the
/* It's possible the Guest did a NOTIFY hypercall to the
* Launcher, in which case we return from the read() now. */
if (lg->dma_is_pending) {
if (put_user(lg->pending_dma, user) ||
put_user(lg->pending_key, user+1))
if (lg->pending_notify) {
if (put_user(lg->pending_notify, user))
return -EFAULT;
return sizeof(unsigned long)*2;
return sizeof(lg->pending_notify);
}
/* Check for signals */
@@ -288,9 +287,6 @@ static int __init init(void)
if (err)
goto unmap;
/* The I/O subsystem needs some things initialized. */
lguest_io_init();
/* We might need to reserve an interrupt vector. */
err = init_interrupts();
if (err)