The Grackle PCI host model expects the interrupt controller being set, but does not verify it is present. Add a check to help developers using this model.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- hw/pci-host/grackle.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c index 57c29b20afb..20361d215ca 100644 --- a/hw/pci-host/grackle.c +++ b/hw/pci-host/grackle.c @@ -76,6 +76,10 @@ static void grackle_realize(DeviceState *dev, Error **errp) GrackleState *s = GRACKLE_PCI_HOST_BRIDGE(dev); PCIHostState *phb = PCI_HOST_BRIDGE(dev); + if (!s->pic) { + error_setg(errp, TYPE_GRACKLE_PCI_HOST_BRIDGE ": 'pic' link not set"); + return; + } phb->bus = pci_register_root_bus(dev, NULL, pci_grackle_set_irq, pci_grackle_map_irq, -- 2.26.2
