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.au...@redhat.com>
>>
>> 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.au...@redhat.com>
>> [geert: Match using compatible values in sysfs instead of user-supplied
>>      manufacturer/model options, reword]
>> Signed-off-by: Geert Uytterhoeven <geert+rene...@glider.be>
>> Reviewed-by: Eric Auger <eric.au...@redhat.com>
>> Tested-by: Eric Auger <eric.au...@redhat.com>
> 
> 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
> 

Reply via email to