On 11/17/2017 10:42 AM, Mark Cave-Ayland wrote: > Since the EBus is effectively a PCI-ISA bridge then the underlying ISA bus > should be contained within the PCI bridge itself. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > hw/sparc64/sun4u.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c > index 394b7d6..63b4aaa 100644 > --- a/hw/sparc64/sun4u.c > +++ b/hw/sparc64/sun4u.c > @@ -84,6 +84,7 @@ typedef struct EbusState { > /*< private >*/ > PCIDevice parent_obj; > > + ISABus *isa_bus; > MemoryRegion bar0; > MemoryRegion bar1; > } EbusState; > @@ -245,8 +246,10 @@ static void ebus_realize(PCIDevice *pci_dev, Error > **errp) > { > EbusState *s = EBUS(pci_dev); > > - if (!isa_bus_new(DEVICE(pci_dev), get_system_memory(), > - pci_address_space_io(pci_dev), errp)) { > + s->isa_bus = isa_bus_new(DEVICE(pci_dev), get_system_memory(), > + pci_address_space_io(pci_dev), errp); > + if (!s->isa_bus) { > + error_setg(errp, "unable to instantiate EBUS ISA bus"); > return; > } > >