Hi all, Playing around with trying to set up PCI bridges for sun4u, I noticed that I get an assert with the following diff which simply moves the default NIC behind a PCI bridge rather than being directly on the root PCI bus:
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c index 69f565d..0b17f2e 100644 --- a/hw/sparc64/sun4u.c +++ b/hw/sparc64/sun4u.c @@ -465,7 +465,7 @@ static void sun4uv_init(MemoryRegion *address_space_mem, parallel_hds_isa_init(isa_bus, MAX_PARALLEL_PORTS); for(i = 0; i < nb_nics; i++) - pci_nic_init_nofail(&nd_table[i], pci_bus, "ne2k_pci", NULL); + pci_nic_init_nofail(&nd_table[i], pci_bus3, "ne2k_pci", NULL); ide_drive_get(hd, ARRAY_SIZE(hd)); $ ./qemu-system-sparc64 -nographic qemu-system-sparc64: hw/pci/pci.c:682: pci_get_bus_devfn: Assertion `!root->parent_dev' failed. Aborted Is there any particular reason why the assert() is set to fail if the NIC isn't being instantiated on the root PCI bus? ATB, Mark.