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 integration. This change should ease the integration of new devices and limit the amount of adaptation code to the minimum, 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 History: PATCH -> RFC v2 - Fixed compilation issue when CONFIG_LINUX is not set - moved to RFC since it needs more discussion and cannot apply to 2.9 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 | 61 ++++++++++++++++++++++++++++++++--------- hw/vfio/platform.c | 18 ++++++++++-- include/hw/vfio/vfio-platform.h | 2 ++ 3 files changed, 66 insertions(+), 15 deletions(-) -- 2.5.5