@@ -635,24 +635,28 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
memset(&macaddr, 0, sizeof(MACAddr));
onboard_nic = false;
for (i = 0; i < nb_nics; i++) {
+ PCIBus *bus;
nd = &nd_table[i];
if (!nd->model || strcmp(nd->model, "sunhme") == 0) {
if (!onboard_nic) {
- pci_dev = pci_create_multifunction(pci_busA, PCI_DEVFN(1, 1),
+ pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1),
true, "sunhme");
+ bus = pci_busA;
memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
onboard_nic = true;
} else {
- pci_dev = pci_create(pci_busB, -1, "sunhme");
+ pci_dev = pci_new(-1, "sunhme");
+ bus = pci_busB;
}
} else {
- pci_dev = pci_create(pci_busB, -1, nd->model);
+ pci_dev = pci_new(-1, nd->model);
+ bus = pci_busB;
}
dev = &pci_dev->qdev;
qdev_set_nic_properties(dev, nd);
- qdev_init_nofail(dev);
+ pci_realize_and_unref(pci_dev, bus, &error_fatal);
}
/* If we don't have an onboard NIC, grab a default MAC address so that
Same transformation as in the previous commit. Manual, because convincing Coccinelle to transform these cases is not worthwhile. Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- hw/sparc64/sun4u.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)