Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> writes: > 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.
Not that many. I clean them up this series, and "[PATCH 22/24] qdev: Assert devices are plugged into a bus that can take them" should ensure we stay clean.