Mdevctl requires a way to atomically query and atomically update a vfio-ap mdev's current state. This patch set creates the ap_config sysfs attribute. This new attribute allows reading and writing an mdev's entire state in one go. If a newly written state is invalid for any reason the entire state is rejected and the target mdev remains unchanged. Changelog ========== v5 - Replaced 'volatile' Wstringop-overread-warning workaround with a much nicer !null check in ap_matrix_copy - Fixed spacing & double assignment issues reported by checkpatch.pl --strict v4 - Added volatile cast to fixup false positive gcc warning: Wstringop-overread-warning - Added new Reviewed-By tags v3 - Optimization: hot unplug functions skip apcb update if nothing was actually unplugged. - Hot unplug functions modified to zero bitmaps before use. - Rename ap_matrix_length_check to ap_matrix_overflow_check - Fixed omissions and errors in several commit messages and the docs. - Added Tested-by tags. v2 - Rebased patched on top of latest master - Reworked code to fit changes introduced by f848cba767e59 s390/vfio-ap: reset queues filtered from the guest's AP config - Moved docs changes to separate patch Jason J. Herne (5): s390/ap: Externalize AP bus specific bitmap reading function s390/vfio-ap: Add sysfs attr, ap_config, to export mdev state s390/vfio-ap: Ignore duplicate link requests in vfio_ap_mdev_link_queue s390/vfio-ap: Add write support to sysfs attr ap_config docs: Update s390 vfio-ap doc for ap_config sysfs attribute Documentation/arch/s390/vfio-ap.rst | 30 ++++ drivers/s390/crypto/ap_bus.c | 13 +- drivers/s390/crypto/ap_bus.h | 22 +++ drivers/s390/crypto/vfio_ap_ops.c | 224 ++++++++++++++++++++++++-- drivers/s390/crypto/vfio_ap_private.h | 6 +- 5 files changed, 266 insertions(+), 29 deletions(-) -- 2.41.0