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.

Reply via email to