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


Reply via email to