On Thu, 25 Mar 2021 at 12:57, Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> wrote: > Thanks for the analysis: I can certainly see how the above commit would have > changed > the behaviour. Looking at hw/ppc/e590plat.c in e500plat_machine_class_init() > I see > that line 101 reads "machine_class_allow_dynamic_sysbus_dev(mc, > TYPE_ETSEC_COMMON);" > which looks like it is intended to add a class restriction to this > functionality.
Aha. I thought there was a restriction somewhere but hadn't found that function. I think the device plug callback functions should check that list rather than saying "any TYPE_SYS_BUS_DEVICE is fine". > In machine_initfn() a callback for machine_init_notify() is added to perform > the > check but the macio-oldworld device is realized first Also, this check is only for "did the user dynamically create a sysbus device that isn't an allowed one", which is a necessary check, but not quite the same thing as "is this device we're looking at one we want to assume belongs to the platform bus". I'll put together a patch... thanks -- PMM