On 2/24/21 7:52 AM, Kevin Wolf wrote: > 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@xxxxxxxxxx> > --- > qapi/qom.json | 34 ++++++++++++++++++++++++++++++++++ > 1 file changed, 34 insertions(+) > > diff --git a/qapi/qom.json b/qapi/qom.json > index 30ed179bc1..1dbc95fb53 100644 > --- a/qapi/qom.json > +++ b/qapi/qom.json > @@ -204,6 +204,34 @@ > 'returns': [ 'ObjectPropertyInfo' ], > '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' } } Matches backend/cryptodev.c:cryptodev_backend_class_init() and backend/cryptodev-builtin.c:cryptodev_builtin_class_init(). > + > +## > +# @CryptodevVhostUserProperties: > +# > +# Properties for cryptodev-vhost-user objects. > +# > +# @chardev: the name of a unix domain socket character device that connects to Should that b s/unix/Unix/ ? > +# the vhost-user server > +# > +# Since: 2.12 > +## > +{ 'struct': 'CryptodevVhostUserProperties', > + 'base': 'CryptodevBackendProperties', > + 'data': { 'chardev': 'str' } } Matches backend/cryptodev-vhost-user.c:cryptodev_vhost_user_init_class(). > + > ## > # @IothreadProperties: > # > @@ -239,6 +267,9 @@ > 'authz-listfile', > 'authz-pam', > 'authz-simple', > + 'cryptodev-backend', > + 'cryptodev-backend-builtin', > + 'cryptodev-vhost-user', > 'iothread' > ] } > > @@ -262,6 +293,9 @@ > 'authz-listfile': 'AuthZListFileProperties', > 'authz-pam': 'AuthZPAMProperties', > 'authz-simple': 'AuthZSimpleProperties', > + 'cryptodev-backend': 'CryptodevBackendProperties', > + 'cryptodev-backend-builtin': 'CryptodevBackendProperties', > + 'cryptodev-vhost-user': 'CryptodevVhostUserProperties', > 'iothread': 'IothreadProperties' > } } > > Reviewed-by: Eric Blake <eblake@xxxxxxxxxx> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org