This is an alternative solution to commit 9405d87be25db6dff4d7b5ab48a81bbf6d083e47 'hw/ide: Fix crash when plugging a piix3-ide device into the x-remote machine' which allows for cleaning up the ISA API while keeping PIIX IDE functions user-createable for an arbitrarily long deprecation period.
Signed-off-by: Bernhard Beschow <shen...@gmail.com> --- hw/ide/piix.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/ide/piix.c b/hw/ide/piix.c index 9a9b28078e..e8f3abc4b5 100644 --- a/hw/ide/piix.c +++ b/hw/ide/piix.c @@ -136,6 +136,17 @@ static int pci_piix_init_ports(PCIIDEState *d) }; int i, ret; + { + ISABus *isa_bus; + bool ambiguous; + + isa_bus = ISA_BUS(object_resolve_path_type("", TYPE_ISA_BUS, + &ambiguous)); + if (!isa_bus || ambiguous) { + return -ENODEV; + } + } + for (i = 0; i < 2; i++) { ide_bus_init(&d->bus[i], sizeof(d->bus[i]), DEVICE(d), i, 2); ret = ide_init_ioport(&d->bus[i], NULL, port_info[i].iobase, -- 2.36.1