aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2020-10-20 12:47:58 +0200
committerKevin Wolf <kwolf@redhat.com>2021-03-19 10:17:13 +0100
commita68d909ef943cc47b512cbd8890e0d90055bec05 (patch)
tree773257fc07cee46b812a4cee5cafc82948a4603e /qapi
parent8825587b53c62f40375a2f63dfefd3adc6988eb1 (diff)
downloadqemu-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.json36
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'
} }