On 18/05/2020 06:03, Markus Armbruster wrote: > The devices we plug into the macio-bus are all sysbus devices > (DeviceClass member bus_type is TYPE_SYSTEM_BUS), but macio-bus does > not derive from TYPE_SYSTEM_BUS. Fix that. > > "info qtree" now shows the devices' mmio ranges, as it should > > Cc: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > Cc: David Gibson <da...@gibson.dropbear.id.au> > Cc: qemu-...@nongnu.org > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > hw/misc/macio/macio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c > index ebc96cc8f6..53a9fd5696 100644 > --- a/hw/misc/macio/macio.c > +++ b/hw/misc/macio/macio.c > @@ -492,7 +492,7 @@ static void macio_class_init(ObjectClass *klass, void > *data) > > static const TypeInfo macio_bus_info = { > .name = TYPE_MACIO_BUS, > - .parent = TYPE_BUS, > + .parent = TYPE_SYSTEM_BUS, > .instance_size = sizeof(MacIOBusState), > };
Here I learned something new: a device that has a class TYPE_SYS_BUS_DEVICE should be attached to a bus that derives from TYPE_SYSTEM_BUS. I have a feeling that there are going to be quite a few instances of this around, particularly in places where existing sysbus devices have been borrowed from the PC world and reused. ATB, Mark.