Commit d384690c authored by Alexander Gordeev's avatar Alexander Gordeev

s390/docs: fix warnings for vfio_ap driver lock usage doc

Fix multiple warnings produced by make htmldocs

Fixes: e32d3827 ("s390/Docs: new doc describing lock usage by the vfio_ap device driver")
Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
parent 5fcd0d8a
...@@ -12,6 +12,7 @@ s390 Architecture ...@@ -12,6 +12,7 @@ s390 Architecture
qeth qeth
s390dbf s390dbf
vfio-ap vfio-ap
vfio-ap-locking
vfio-ccw vfio-ccw
zfcpdump zfcpdump
common_io common_io
......
...@@ -7,19 +7,23 @@ This document describes the locks that are pertinent to the secure operation ...@@ -7,19 +7,23 @@ This document describes the locks that are pertinent to the secure operation
of the vfio_ap device driver. Throughout this document, the following variables of the vfio_ap device driver. Throughout this document, the following variables
will be used to denote instances of the structures herein described: will be used to denote instances of the structures herein described:
struct ap_matrix_dev *matrix_dev; .. code-block:: c
struct ap_matrix_mdev *matrix_mdev;
struct kvm *kvm; struct ap_matrix_dev *matrix_dev;
struct ap_matrix_mdev *matrix_mdev;
struct kvm *kvm;
The Matrix Devices Lock (drivers/s390/crypto/vfio_ap_private.h) The Matrix Devices Lock (drivers/s390/crypto/vfio_ap_private.h)
-------------------------------------------------------------- ---------------------------------------------------------------
.. code-block:: c
struct ap_matrix_dev { struct ap_matrix_dev {
... ...
struct list_head mdev_list; struct list_head mdev_list;
struct mutex mdevs_lock; struct mutex mdevs_lock;
... ...
} }
The Matrix Devices Lock (matrix_dev->mdevs_lock) is implemented as a global The Matrix Devices Lock (matrix_dev->mdevs_lock) is implemented as a global
mutex contained within the single object of struct ap_matrix_dev. This lock mutex contained within the single object of struct ap_matrix_dev. This lock
...@@ -31,11 +35,13 @@ representing one of the vfio_ap device driver's mediated devices. ...@@ -31,11 +35,13 @@ representing one of the vfio_ap device driver's mediated devices.
The KVM Lock (include/linux/kvm_host.h) The KVM Lock (include/linux/kvm_host.h)
--------------------------------------- ---------------------------------------
struct kvm { .. code-block:: c
struct kvm {
... ...
struct mutex lock; struct mutex lock;
... ...
} }
The KVM Lock (kvm->lock) controls access to the state data for a KVM guest. This The KVM Lock (kvm->lock) controls access to the state data for a KVM guest. This
lock must be held by the vfio_ap device driver while one or more AP adapters, lock must be held by the vfio_ap device driver while one or more AP adapters,
...@@ -48,12 +54,14 @@ been attached to the KVM guest. ...@@ -48,12 +54,14 @@ been attached to the KVM guest.
The Guests Lock (drivers/s390/crypto/vfio_ap_private.h) The Guests Lock (drivers/s390/crypto/vfio_ap_private.h)
----------------------------------------------------------- -----------------------------------------------------------
struct ap_matrix_dev { .. code-block:: c
struct ap_matrix_dev {
... ...
struct list_head mdev_list; struct list_head mdev_list;
struct mutex guests_lock; struct mutex guests_lock;
... ...
} }
The Guests Lock (matrix_dev->guests_lock) controls access to the The Guests Lock (matrix_dev->guests_lock) controls access to the
matrix_mdev instances (matrix_dev->mdev_list) that represent mediated devices matrix_mdev instances (matrix_dev->mdev_list) that represent mediated devices
...@@ -89,17 +97,19 @@ resources, so only the matrix_dev->mdevs_lock needs to be held. ...@@ -89,17 +97,19 @@ resources, so only the matrix_dev->mdevs_lock needs to be held.
The PQAP Hook Lock (arch/s390/include/asm/kvm_host.h) The PQAP Hook Lock (arch/s390/include/asm/kvm_host.h)
----------------------------------------------------- -----------------------------------------------------
typedef int (*crypto_hook)(struct kvm_vcpu *vcpu); .. code-block:: c
typedef int (*crypto_hook)(struct kvm_vcpu *vcpu);
struct kvm_s390_crypto { struct kvm_s390_crypto {
... ...
struct rw_semaphore pqap_hook_rwsem; struct rw_semaphore pqap_hook_rwsem;
crypto_hook *pqap_hook; crypto_hook *pqap_hook;
... ...
}; };
The PQAP Hook Lock is a r/w semaphore that controls access to the function The PQAP Hook Lock is a r/w semaphore that controls access to the function
pointer of the handler (*kvm->arch.crypto.pqap_hook) to invoke when the pointer of the handler ``(*kvm->arch.crypto.pqap_hook)`` to invoke when the
PQAP(AQIC) instruction sub-function is intercepted by the host. The lock must be PQAP(AQIC) instruction sub-function is intercepted by the host. The lock must be
held in write mode when pqap_hook value is set, and in read mode when the held in write mode when pqap_hook value is set, and in read mode when the
pqap_hook function is called. pqap_hook function is called.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment