From 72da42085924f65c78e6ec478373f51a9e49e48d Mon Sep 17 00:00:00 2001 From: aliguori Date: Wed, 11 Feb 2009 15:19:52 +0000 Subject: qemu: return PCIDevice on net device init and record devfn (Marcelo Tosatti) Change the PCI network drivers init functions to return the PCIDev, to inform which slot has been hot-plugged. Also record PCIDevice structure on NICInfo to locate for release on hot-removal. Signed-off-by: Marcelo Tosatti Signed-off-by: Anthony Liguori git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6593 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/eepro100.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'hw/eepro100.c') diff --git a/hw/eepro100.c b/hw/eepro100.c index b8709b00a2..790192aaed 100644 --- a/hw/eepro100.c +++ b/hw/eepro100.c @@ -1735,7 +1735,7 @@ static void nic_save(QEMUFile * f, void *opaque) qemu_put_buffer(f, s->configuration, sizeof(s->configuration)); } -static void nic_init(PCIBus * bus, NICInfo * nd, +static PCIDevice *nic_init(PCIBus * bus, NICInfo * nd, const char *name, uint32_t device) { PCIEEPRO100State *d; @@ -1783,22 +1783,23 @@ static void nic_init(PCIBus * bus, NICInfo * nd, qemu_register_reset(nic_reset, s); register_savevm(name, -1, 3, nic_save, nic_load, s); + return (PCIDevice *)d; } -void pci_i82551_init(PCIBus * bus, NICInfo * nd, int devfn) +PCIDevice *pci_i82551_init(PCIBus * bus, NICInfo * nd, int devfn) { - nic_init(bus, nd, "i82551", i82551); + return nic_init(bus, nd, "i82551", i82551); //~ uint8_t *pci_conf = d->dev.config; } -void pci_i82557b_init(PCIBus * bus, NICInfo * nd, int devfn) +PCIDevice *pci_i82557b_init(PCIBus * bus, NICInfo * nd, int devfn) { - nic_init(bus, nd, "i82557b", i82557B); + return nic_init(bus, nd, "i82557b", i82557B); } -void pci_i82559er_init(PCIBus * bus, NICInfo * nd, int devfn) +PCIDevice *pci_i82559er_init(PCIBus * bus, NICInfo * nd, int devfn) { - nic_init(bus, nd, "i82559er", i82559ER); + return nic_init(bus, nd, "i82559er", i82559ER); } /* eof */ -- cgit 1.4.1