[Qemu-devel] [RFC v2 0/2] Allow direct vfio-platform device instantiation

Eric Auger posted 2 patches 7 years, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1487711458-18198-1-git-send-email-eric.auger@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
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(-)
[Qemu-devel] [RFC v2 0/2] Allow direct vfio-platform device instantiation
Posted by Eric Auger 7 years, 2 months ago
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