qemu: LSI SCSI and e1000 unregister callbacks (Marcelo Tosatti)

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6605 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
aliguori 2009-02-11 15:21:22 +00:00
parent a4c20c6a54
commit 4b09be85a0
2 changed files with 24 additions and 0 deletions

View file

@ -1962,6 +1962,18 @@ void lsi_scsi_attach(void *opaque, BlockDriverState *bd, int id)
bd->private = &s->pci_dev;
}
static int lsi_scsi_uninit(PCIDevice *d)
{
LSIState *s = (LSIState *) d;
cpu_unregister_io_memory(s->mmio_io_addr);
cpu_unregister_io_memory(s->ram_io_addr);
qemu_free(s->queue);
return 0;
}
void *lsi_scsi_init(PCIBus *bus, int devfn)
{
LSIState *s;
@ -2004,6 +2016,7 @@ void *lsi_scsi_init(PCIBus *bus, int devfn)
s->queue = qemu_malloc(sizeof(lsi_queue));
s->queue_len = 1;
s->active_commands = 0;
s->pci_dev.unregister = lsi_scsi_uninit;
lsi_soft_reset(s);