@@ -166,6 +166,31 @@ struct vfio_device_info {
#define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
/**
+ * VFIO_DEVICE_GET_DEV_PROPERTY - _IOR(VFIO_TYPE, VFIO_BASE + 16,
+ * struct vfio_devtree_info)
+ *
+ * Retrieve a device property, e.g. from a device tree if available.
+ * Caller will initialize data[] with a single string with the requested
+ * devicetree property name, and type depending on whether a array of strings
+ * or an array of u32 values is expected. On success, data[] will be extended
+ * with the requested information, either as an array of u32, or with a list
+ * of strings separated by the NULL terminating character.
+ * Return: 0 on success, -errno on failure.
+ */
+struct vfio_dev_property {
+ __u32 argsz;
+ __u32 type;
+#define VFIO_DEV_PROPERTY_TYPE_STRINGS 0
+#define VFIO_DEV_PROPERTY_TYPE_U8 1
+#define VFIO_DEV_PROPERTY_TYPE_U16 2
+#define VFIO_DEV_PROPERTY_TYPE_U32 3
+#define VFIO_DEV_PROPERTY_TYPE_U64 4
+ __u32 length;
+ __u8 data[];
+};
+#define VFIO_DEVICE_GET_DEV_PROPERTY _IO(VFIO_TYPE, VFIO_BASE + 17)
+
+/**
* VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
* struct vfio_region_info)
*
Add VFIO device property constants Signed-off-by: Baptiste Reynal <b.reynal@virtualopensystems.com> --- linux-headers/linux/vfio.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+)