diff options
author | Kevin Wolf <kwolf@redhat.com> | 2020-10-20 12:47:58 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2021-03-19 10:17:13 +0100 |
commit | a68d909ef943cc47b512cbd8890e0d90055bec05 (patch) | |
tree | 773257fc07cee46b812a4cee5cafc82948a4603e /qapi | |
parent | 8825587b53c62f40375a2f63dfefd3adc6988eb1 (diff) | |
download | qemu-a68d909ef943cc47b512cbd8890e0d90055bec05.zip qemu-a68d909ef943cc47b512cbd8890e0d90055bec05.tar.gz qemu-a68d909ef943cc47b512cbd8890e0d90055bec05.tar.bz2 |
qapi/qom: Add ObjectOptions for cryptodev-*
This adds a QAPI schema for the properties of the cryptodev-* objects.
These interfaces have some questionable aspects (cryptodev-backend is
really an abstract base class without function, and the queues option
only makes sense for cryptodev-vhost-user), but as the goal is to
represent the existing interface in QAPI, leave these things in place.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r-- | qapi/qom.json | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/qapi/qom.json b/qapi/qom.json index 30ed179..499280f 100644 --- a/qapi/qom.json +++ b/qapi/qom.json @@ -205,6 +205,34 @@ 'allow-preconfig': true } ## +# @CryptodevBackendProperties: +# +# Properties for cryptodev-backend and cryptodev-backend-builtin objects. +# +# @queues: the number of queues for the cryptodev backend. Ignored for +# cryptodev-backend and must be 1 for cryptodev-backend-builtin. +# (default: 1) +# +# Since: 2.8 +## +{ 'struct': 'CryptodevBackendProperties', + 'data': { '*queues': 'uint32' } } + +## +# @CryptodevVhostUserProperties: +# +# Properties for cryptodev-vhost-user objects. +# +# @chardev: the name of a Unix domain socket character device that connects to +# the vhost-user server +# +# Since: 2.12 +## +{ 'struct': 'CryptodevVhostUserProperties', + 'base': 'CryptodevBackendProperties', + 'data': { 'chardev': 'str' } } + +## # @IothreadProperties: # # Properties for iothread objects. @@ -239,6 +267,10 @@ 'authz-listfile', 'authz-pam', 'authz-simple', + 'cryptodev-backend', + 'cryptodev-backend-builtin', + { 'name': 'cryptodev-vhost-user', + 'if': 'defined(CONFIG_VIRTIO_CRYPTO) && defined(CONFIG_VHOST_CRYPTO)' }, 'iothread' ] } @@ -262,6 +294,10 @@ 'authz-listfile': 'AuthZListFileProperties', 'authz-pam': 'AuthZPAMProperties', 'authz-simple': 'AuthZSimpleProperties', + 'cryptodev-backend': 'CryptodevBackendProperties', + 'cryptodev-backend-builtin': 'CryptodevBackendProperties', + 'cryptodev-vhost-user': { 'type': 'CryptodevVhostUserProperties', + 'if': 'defined(CONFIG_VIRTIO_CRYPTO) && defined(CONFIG_VHOST_CRYPTO)' }, 'iothread': 'IothreadProperties' } } |