Hi Michael
Please correct me if I miss anything...
On 1/29/23 10:57, zhenwei pi wrote:
> v4 -> v5:
> - suggested by MST, use 'PRIu32' instead of '%u' to print a uint32_t value
> - correct *QCryptodevBackendClient* and *QCryptodevInfo* in qapi/cryptodev.json
>
> v3 -> v4:
> - a small change in '0005-cryptodev-Introduce-query-cryptodev-QMP-command.patch':
> use 'uint32' instead of 'int' to describe CryptodevBackendClient:queue
> - fix compling warning(gcc)/error(clang-11) on 32 bit platform in
> '0007-hmp-add-cryptodev-info-command.patch':
> use 'printf("%u", client->queue)' instead of 'printf("%ld", client->queue)'
>
> v2 -> v3:
> - rebase code against the lastest commist: fb7e7990342e59cf67d
> - document the missing fields in qapi/cryptodev.json
> - rework statistics part: use 'query-stats' command instead of
> 'query-cryptodev'(cryptodev: Support query-stats QMP command)
>
> v1 -> v2:
> - fix coding style and use 'g_strjoin()' instead of 'char services[128]'
> (suggested by Dr. David Alan Gilbert)
> - wrapper function 'cryptodev_backend_account' to record statistics, and
> allocate sym_stat/asym_stat in cryptodev base class. see patch:
> 'cryptodev: Support statistics'.
> - add more arguments into struct CryptoDevBackendOpInfo, then
> cryptodev_backend_crypto_operation() uses *op_info only.
> - support cryptodev QoS settings(BPS&OPS), both QEMU command line and QMP
> command works fine.
> - add myself as the maintainer for cryptodev.
>
> v1:
> - introduce cryptodev.json to describe the attributes of crypto device, then
> drop duplicated type declare, remove some virtio related dependence.
> - add statistics: OPS and bandwidth.
> - add QMP command: query-cryptodev
> - add HMP info command: cryptodev
> - misc fix: detect akcipher capability instead of exposing akcipher service
> unconditionally.
>
> Zhenwei Pi (12):
> cryptodev: Introduce cryptodev.json
> cryptodev: Remove 'name' & 'model' fields
> cryptodev: Introduce cryptodev alg type in QAPI
> cryptodev: Introduce server type in QAPI
> cryptodev: Introduce 'query-cryptodev' QMP command
> cryptodev-builtin: Detect akcipher capability
> hmp: add cryptodev info command
> cryptodev: Use CryptoDevBackendOpInfo for operation
> cryptodev: Account statistics
> cryptodev: support QoS
> cryptodev: Support query-stats QMP command
> MAINTAINERS: add myself as the maintainer for cryptodev
>
> MAINTAINERS | 2 +
> backends/cryptodev-builtin.c | 42 ++--
> backends/cryptodev-lkcf.c | 19 +-
> backends/cryptodev-vhost-user.c | 13 +-
> backends/cryptodev-vhost.c | 4 +-
> backends/cryptodev.c | 419 ++++++++++++++++++++++++++++++--
> hmp-commands-info.hx | 14 ++
> hw/virtio/virtio-crypto.c | 48 +++-
> include/monitor/hmp.h | 1 +
> include/sysemu/cryptodev.h | 95 ++++----
> monitor/hmp-cmds.c | 42 ++++
> monitor/qmp-cmds.c | 2 +
> qapi/cryptodev.json | 143 +++++++++++
> qapi/meson.build | 1 +
> qapi/qapi-schema.json | 1 +
> qapi/qom.json | 8 +-
> qapi/stats.json | 10 +-
> 17 files changed, 744 insertions(+), 120 deletions(-)
> create mode 100644 qapi/cryptodev.json
>
--
zhenwei pi