s390/docs: fix warnings for vfio_ap driver lock usage doc
Fix multiple warnings produced by make htmldocs
Fixes: e32d3827f3
("s390/Docs: new doc describing lock usage by the vfio_ap device driver")
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
5fcd0d8ae2
commit
d384690c6a
|
@ -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
|
||||||
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)
|
||||||
--------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
|
|
||||||
struct ap_matrix_dev {
|
.. code-block:: c
|
||||||
...
|
|
||||||
struct list_head mdev_list;
|
struct ap_matrix_dev {
|
||||||
struct mutex mdevs_lock;
|
...
|
||||||
...
|
struct list_head mdev_list;
|
||||||
}
|
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.
|
||||||
The KVM Lock (include/linux/kvm_host.h)
|
The KVM Lock (include/linux/kvm_host.h)
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
struct kvm {
|
.. code-block:: c
|
||||||
...
|
|
||||||
struct mutex lock;
|
struct kvm {
|
||||||
...
|
...
|
||||||
}
|
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.
|
||||||
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 list_head mdev_list;
|
struct ap_matrix_dev {
|
||||||
struct mutex guests_lock;
|
...
|
||||||
...
|
struct list_head mdev_list;
|
||||||
}
|
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.
|
||||||
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
|
||||||
|
|
||||||
struct kvm_s390_crypto {
|
typedef int (*crypto_hook)(struct kvm_vcpu *vcpu);
|
||||||
...
|
|
||||||
struct rw_semaphore pqap_hook_rwsem;
|
struct kvm_s390_crypto {
|
||||||
crypto_hook *pqap_hook;
|
...
|
||||||
...
|
struct rw_semaphore pqap_hook_rwsem;
|
||||||
};
|
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.
|
||||||
|
|
Loading…
Reference in New Issue