mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 21:21:41 +00:00
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:
parent
d714abee5f
commit
2d8721364c
@ -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
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user