mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 12:23:53 -06:00
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
This commit is contained in:
parent
3ae8061898
commit
72da420859
10 changed files with 44 additions and 28 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue