diff options
author | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-11 15:19:52 +0000 |
---|---|---|
committer | aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162> | 2009-02-11 15:19:52 +0000 |
commit | 72da42085924f65c78e6ec478373f51a9e49e48d (patch) | |
tree | 1b065d0e96fb147fd75447a5fec8ed119a746e2d /hw/virtio-net.c | |
parent | 3ae806189842c70cf47e041b3c498c65683e5a21 (diff) |
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 <mtosatti@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6593 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/virtio-net.c')
-rw-r--r-- | hw/virtio-net.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/virtio-net.c b/hw/virtio-net.c index 62153e9014..dcfab66510 100644 --- a/hw/virtio-net.c +++ b/hw/virtio-net.c @@ -560,7 +560,7 @@ static int virtio_net_load(QEMUFile *f, void *opaque, int version_id) return 0; } -void virtio_net_init(PCIBus *bus, NICInfo *nd, int devfn) +PCIDevice *virtio_net_init(PCIBus *bus, NICInfo *nd, int devfn) { VirtIONet *n; static int virtio_net_id; @@ -574,7 +574,7 @@ void virtio_net_init(PCIBus *bus, NICInfo *nd, int devfn) sizeof(struct virtio_net_config), sizeof(VirtIONet)); if (!n) - return; + return NULL; n->vdev.get_config = virtio_net_get_config; n->vdev.set_config = virtio_net_set_config; @@ -599,12 +599,13 @@ void virtio_net_init(PCIBus *bus, NICInfo *nd, int devfn) n->mac_table.macs = qemu_mallocz(MAC_TABLE_ENTRIES * ETH_ALEN); if (!n->mac_table.macs) - return; + return NULL; n->vlans = qemu_mallocz(MAX_VLAN >> 3); if (!n->vlans) - return; + return NULL; register_savevm("virtio-net", virtio_net_id++, VIRTIO_NET_VM_VERSION, virtio_net_save, virtio_net_load, n); + return (PCIDevice *)n; } |