Mostly this is intended to cleanup the class hierarchy used for the ciphers. We currently have multiple levels of dispatch, and multiple separate allocations. The final patches rearrange this to one level of indirect call, and all memory allocated contiguously.
But on the way there are a number of other misc cleanups. Changes in v2: * Dropped move of QCryptoCipher typedef. * Moved QCryptoCipherDriver typedef to include/crypto/cipher.h. * Renamed included files to *.c.inc. * Fixed errors with old versions of nettle and gcrypt. Based-on: <[email protected]> ("crypto: fix build with gcrypt") which does at least allow *-softmmu builds to complete, though I still have issues with *-linux-user. r~ Richard Henderson (16): crypto: Assume blocksize is a power of 2 crypto: Rename cipher include files to .c.inc crypto: Remove redundant includes crypto/nettle: Fix xts_encrypt arguments crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h crypto: Use the correct const type for driver crypto: Allocate QCryptoCipher with the subclass crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new crypto: Constify cipher data tables crypto/builtin: Remove odd-sized AES block handling crypto/builtin: Merge qcrypto_cipher_aes_{ecb,xts}_{en,de}crypt crypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c crypto/builtin: Split and simplify AES_encrypt_cbc crypto/builtin: Split QCryptoCipherBuiltin into subclasses crypto/nettle: Split QCryptoCipherNettle into subclasses crypto/gcrypt: Split QCryptoCipherGcrypt into subclasses crypto/afalgpriv.h | 3 + crypto/cipherpriv.h | 6 +- include/crypto/aes.h | 4 - include/crypto/cipher.h | 4 +- crypto/aes.c | 51 -- crypto/cipher-afalg.c | 25 +- crypto/cipher-builtin.c | 532 ------------ crypto/cipher-nettle.c | 733 ----------------- crypto/cipher.c | 44 +- crypto/cipher-builtin.c.inc | 435 ++++++++++ .../{cipher-gcrypt.c => cipher-gcrypt.c.inc} | 509 ++++++------ crypto/cipher-nettle.c.inc | 760 ++++++++++++++++++ 12 files changed, 1481 insertions(+), 1625 deletions(-) delete mode 100644 crypto/cipher-builtin.c delete mode 100644 crypto/cipher-nettle.c create mode 100644 crypto/cipher-builtin.c.inc rename crypto/{cipher-gcrypt.c => cipher-gcrypt.c.inc} (52%) create mode 100644 crypto/cipher-nettle.c.inc -- 2.25.1
