s390/vfio-ap: Driver feature advertisement

Advertise features of the driver for the benefit of automated tooling
like Libvirt and mdevctl.

Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Anthony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Link: https://lore.kernel.org/r/20240916120123.11484-1-jjherne@linux.ibm.com
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Jason J. Herne 2024-09-16 08:01:23 -04:00 committed by Vasily Gorbik
parent d714abee5f
commit 2d8721364c
2 changed files with 43 additions and 0 deletions

View File

@ -999,6 +999,36 @@ the vfio_ap mediated device to which it is assigned as long as each new APQN
resulting from plugging it in references a queue device bound to the vfio_ap resulting from plugging it in references a queue device bound to the vfio_ap
device driver. device driver.
Driver Features
===============
The vfio_ap driver exposes a sysfs file containing supported features.
This exists so third party tools (like Libvirt and mdevctl) can query the
availability of specific features.
The features list can be found here: /sys/bus/matrix/devices/matrix/features
Entries are space delimited. Each entry consists of a combination of
alphanumeric and underscore characters.
Example:
cat /sys/bus/matrix/devices/matrix/features
guest_matrix dyn ap_config
the following features are advertised:
---------------+---------------------------------------------------------------+
| Flag | Description |
+==============+===============================================================+
| guest_matrix | guest_matrix attribute exists. It reports the matrix of |
| | adapters and domains that are or will be passed through to a |
| | guest when the mdev is attached to it. |
+--------------+---------------------------------------------------------------+
| dyn | Indicates hot plug/unplug of AP adapters, domains and control |
| | domains for a guest to which the mdev is attached. |
+------------+-----------------------------------------------------------------+
| ap_config | ap_config interface for one-shot modifications to mdev config |
+--------------+---------------------------------------------------------------+
Limitations Limitations
=========== ===========
Live guest migration is not supported for guests using AP devices without Live guest migration is not supported for guests using AP devices without

View File

@ -26,6 +26,18 @@ MODULE_LICENSE("GPL v2");
struct ap_matrix_dev *matrix_dev; struct ap_matrix_dev *matrix_dev;
debug_info_t *vfio_ap_dbf_info; debug_info_t *vfio_ap_dbf_info;
static ssize_t features_show(struct device *dev, struct device_attribute *attr, char *buf)
{
return sysfs_emit(buf, "guest_matrix hotplug ap_config\n");
}
static DEVICE_ATTR_RO(features);
static struct attribute *matrix_dev_attrs[] = {
&dev_attr_features.attr,
NULL,
};
ATTRIBUTE_GROUPS(matrix_dev);
/* Only type 10 adapters (CEX4 and later) are supported /* Only type 10 adapters (CEX4 and later) are supported
* by the AP matrix device driver * by the AP matrix device driver
*/ */
@ -68,6 +80,7 @@ static struct device_driver matrix_driver = {
.name = "vfio_ap", .name = "vfio_ap",
.bus = &matrix_bus, .bus = &matrix_bus,
.suppress_bind_attrs = true, .suppress_bind_attrs = true,
.dev_groups = matrix_dev_groups,
}; };
static int vfio_ap_matrix_dev_create(void) static int vfio_ap_matrix_dev_create(void)