qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [6605] qemu: LSI SCSI and e1000 unregister callbacks (Marce


From: Anthony Liguori
Subject: [Qemu-devel] [6605] qemu: LSI SCSI and e1000 unregister callbacks (Marcelo Tosatti)
Date: Wed, 11 Feb 2009 15:21:23 +0000

Revision: 6605
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6605
Author:   aliguori
Date:     2009-02-11 15:21:22 +0000 (Wed, 11 Feb 2009)

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

Signed-off-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>

Modified Paths:
--------------
    trunk/hw/e1000.c
    trunk/hw/lsi53c895a.c

Modified: trunk/hw/e1000.c
===================================================================
--- trunk/hw/e1000.c    2009-02-11 15:21:16 UTC (rev 6604)
+++ trunk/hw/e1000.c    2009-02-11 15:21:22 UTC (rev 6605)
@@ -1034,6 +1034,16 @@
                                      excluded_regs[i] - 4);
 }
 
+static int
+pci_e1000_uninit(PCIDevice *dev)
+{
+    E1000State *d = (E1000State *) dev;
+
+    cpu_unregister_io_memory(d->mmio_index);
+
+    return 0;
+}
+
 PCIDevice *
 pci_e1000_init(PCIBus *bus, NICInfo *nd, int devfn)
 {
@@ -1092,6 +1102,7 @@
     qemu_format_nic_info_str(d->vc, d->nd->macaddr);
 
     register_savevm(info_str, -1, 2, nic_save, nic_load, d);
+    d->dev.unregister = pci_e1000_uninit;
 
     return (PCIDevice *)d;
 }

Modified: trunk/hw/lsi53c895a.c
===================================================================
--- trunk/hw/lsi53c895a.c       2009-02-11 15:21:16 UTC (rev 6604)
+++ trunk/hw/lsi53c895a.c       2009-02-11 15:21:22 UTC (rev 6605)
@@ -1962,6 +1962,18 @@
     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 @@
     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);
 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]