From: Helge Deller Date: Sat, 25 Oct 2025 09:22:45 +0000 (+0200) Subject: hw/hppa: PCI devices depend on availability of PCI bus X-Git-Tag: v10.2.0-rc1~42^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=557bc5260cfdb1047290b4c92d1128f93abf6097;p=thirdparty%2Fqemu.git hw/hppa: PCI devices depend on availability of PCI bus Only create the PCI serial ports (DIVA) and PCI network cards when there is actually a PCI bus. The shortly added 715 machine will not have a PCI bus, so avoid creating further PCI devices. Signed-off-by: Helge Deller Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson --- diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c index bec5a86f24..31eeba72b4 100644 --- a/hw/hppa/machine.c +++ b/hw/hppa/machine.c @@ -387,20 +387,22 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus, enable_lasi_lan()); } - pci_init_nic_devices(pci_bus, mc->default_nic); - - /* BMC board: HP Diva GSP */ - dev = qdev_new("diva-gsp"); - if (!object_property_get_bool(OBJECT(dev), "disable", NULL)) { - pci_dev = pci_new_multifunction(PCI_DEVFN(2, 0), "diva-gsp"); - if (!lasi_dev) { - /* bind default keyboard/serial to Diva card */ - qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(0)); - qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(1)); - qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(2)); - qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(3)); + if (pci_bus) { + pci_init_nic_devices(pci_bus, mc->default_nic); + + /* BMC board: HP Diva GSP PCI card */ + dev = qdev_new("diva-gsp"); + if (dev && !object_property_get_bool(OBJECT(dev), "disable", NULL)) { + pci_dev = pci_new_multifunction(PCI_DEVFN(2, 0), "diva-gsp"); + if (!lasi_dev) { + /* bind default keyboard/serial to Diva card */ + qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(0)); + qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(1)); + qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(2)); + qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(3)); + } + pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); } - pci_realize_and_unref(pci_dev, pci_bus, &error_fatal); } /* create USB OHCI controller for USB keyboard & mouse on Astro machines */