Messages in this thread Patch in this message |  | | From | Tony Krowiak <> | Subject | [PATCH v4 12/15] s390: vfio-ap: sysfs interface to view matrix mdev matrix | Date | Sun, 15 Apr 2018 17:22:22 -0400 |
| |
Provides a sysfs interface to view the AP matrix configured for the mediated matrix device.
The relevant sysfs structures are:
/sys/devices/vfio_ap ... [matrix] ...... [mdev_supported_types] ......... [vfio_ap-passthrough] ............ [devices] ...............[$uuid] .................. matrix
To view the matrix configured for the mediated matrix device, print the matrix file:
cat matrix
Signed-off-by: Tony Krowiak <akrowiak@linux.vnet.ibm.com> --- drivers/s390/crypto/vfio_ap_ops.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c index 413ecbb..bc2b05e 100644 --- a/drivers/s390/crypto/vfio_ap_ops.c +++ b/drivers/s390/crypto/vfio_ap_ops.c @@ -701,6 +701,32 @@ static ssize_t control_domains_show(struct device *dev, } DEVICE_ATTR_RO(control_domains); +static ssize_t matrix_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct mdev_device *mdev = mdev_from_dev(dev); + struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev); + char *bufpos = buf; + unsigned long apid; + unsigned long apqi; + int nchars = 0; + int n; + + for_each_set_bit_inv(apid, matrix_mdev->matrix->apm, + matrix_mdev->matrix->apm_max) { + for_each_set_bit_inv(apqi, matrix_mdev->matrix->aqm, + matrix_mdev->matrix->aqm_max) { + n = sprintf(bufpos, "%02lx.%04lx\n", apid, apqi); + bufpos += n; + nchars += n; + } + } + + return nchars; +} +DEVICE_ATTR_RO(matrix); + + static struct attribute *vfio_ap_mdev_attrs[] = { &dev_attr_assign_adapter.attr, &dev_attr_unassign_adapter.attr, @@ -709,6 +735,7 @@ static ssize_t control_domains_show(struct device *dev, &dev_attr_assign_control_domain.attr, &dev_attr_unassign_control_domain.attr, &dev_attr_control_domains.attr, + &dev_attr_matrix.attr, NULL, }; -- 1.7.1
|  |