Hi Thomas, On 11/5/18 10:17 AM, Thomas Huth wrote: > On 2018-09-27 13:54, Geert Uytterhoeven wrote: >> From: Auger Eric <eric.auger@xxxxxxxxxx> >> >> Up to now we have relied on the device type to identify a device tree >> node creation function. Since we would like the vfio-platform device to >> be instantiable with different compatible strings we introduce the >> capability to specialize the node creation depending on actual >> compatible value. >> >> NodeCreationPair is renamed into BindingEntry. The struct is enhanced >> with compat and match_fn() fields. We introduce a new matching function >> adapted to the vfio-platform generic device. >> >> Soon, the AMD XGBE can be instantiated with either manner, i.e.: >> >> -device vfio-amd-xgbe,host=e0900000.xgmac >> >> or using the new option line: >> >> -device vfio-platform,host=e0900000.xgmac >> >> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> >> [geert: Match using compatible values in sysfs instead of user-supplied >> manufacturer/model options, reword] >> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> >> Reviewed-by: Eric Auger <eric.auger@xxxxxxxxxx> >> Tested-by: Eric Auger <eric.auger@xxxxxxxxxx> > > scripts/device-crash-test reports a new "crash" with current QEMU master > branch, where QEMU aborts like this: > > aarch64-softmmu/qemu-system-aarch64 -S -machine virt-2.9,accel=tcg > -device ramfb > hw/arm/sysbus-fdt.c:422:vfio_platform_match: Object 0x564cf9ae8f80 is > not an instance of type vfio-platform > Aborted (core dumped) > > I think it is likely due to this patch here ... any chance that you > could make this a little bit more user friendly instead of aborting the > hard way here? thank you for spotting the bug. We should use object_dynamic_cast() to test if the device is a VFIO_PLATFORM one. I will prepare a patch. Thanks Eric > > Thanks, > Thomas >