Up to now, supporting a new VFIO-PLATFORM device has requested to create a dummy derived device. The type of the derived device was used to match the device tree node creation function.
Since the actual adaptation fits within this node creation function and not anywhere else at the moment, let's allow to instantiate the VFIO-PLATFORM device and pass the compatibility string with 2 separate options, manufacturer and model. sysbus-fdt is adapted to associate a node creation function with this combo. The removal of the abstract characteristics was discussed on the ML (https://lists.gnu.org/archive/html/qemu-devel/2016-08/msg03326.html) in the context of HiDma integrayion. This change should ease the integration of new devices and limit the amount of adaptation code to the minimumy, ie. the node creation function). The AMD XGBE is the first device that can be instantiated that way: -device vfio-platform,host=e0900000.xgmac,manufacturer=amd,model=xgbe-seattle-v1a Note the legacy option still is available: -device vfio-amd-xgbe,host=e0900000.xgmac Eric Auger (2): vfio/platform: make the vfio-platform device non abstract hw/arm/sysbus-fdt: Allow device matching with compat string hw/arm/sysbus-fdt.c | 59 ++++++++++++++++++++++++++++++++--------- hw/vfio/platform.c | 18 +++++++++++-- include/hw/vfio/vfio-platform.h | 2 ++ 3 files changed, 64 insertions(+), 15 deletions(-) -- 2.5.5