@@ -859,10 +859,20 @@ PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,
dev = &pci_dev->qdev;
if (nd->name)
dev->id = qemu_strdup(nd->name);
- dev->nd = nd;
+ if (qdev_prop_exists(dev, "mac")) {
+ /* qdev-ified */
+ qdev_prop_set_macaddr(dev, "mac", nd->macaddr);
+ if (nd->vlan)
+ qdev_prop_set_vlan(dev, "vlan", nd->vlan);
+ if (nd->netdev)
+ qdev_prop_set_netdev(dev, "netdev", nd->netdev);
+ } else {
+ /* legacy */
+ dev->nd = nd;
+ nd->private = dev;
+ }
if (qdev_init(dev) < 0)
return NULL;
- nd->private = dev;
return pci_dev;
}
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/pci.c | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-)