1. Add some new elliptic curve parameters definitions, and reorder ECC 'Curves IDs'; 2. Add interface to get elliptic curve by curve_id in "include/crypto/ecc_curve.h" by curve_id; 3. Add ECDH and CURVE25519 algorithms support for Kunpeng 930. v6->v7: - patch #4: add function interface to expose elliptic curve parameters - patch #4: eliminate warning by 'kernel test robot' - patch #5: add function interface to expose curve25519 parameters v5->v6: - patch #1: add a new patch (the first patch), which is the "depend on" patch before v4->v5: - patch #4: delete P-128 and P-320 curve, as the few using case in the kernel v3 -> v4: - patch #3: add new, move ecc_curve params to "include/crypto" v2 -> v3: - patch #5: fix sparse warnings - patch #5: add 'CRYPTO_LIB_CURVE25519_GENERIC' in 'Kconfig' v1 -> v2: - patch #5: delete `curve25519_null_point' Hui Tang (1): crypto: hisilicon/hpre - add some updates to adapt to Kunpeng 930 Meng Yu (6): crypto: hisilicon/hpre - add version adapt to new algorithms crypto: hisilicon/hpre - add algorithm type crypto: add ecc curve and expose them crypto: add curve 25519 and expose them crypto: hisilicon/hpre - add 'ECDH' algorithm crypto: hisilicon/hpre - add 'CURVE25519' algorithm crypto/ecc.c | 22 +- crypto/ecc.h | 37 +- crypto/ecc_curve_defs.h | 163 +++++- crypto/testmgr.h | 12 +- drivers/crypto/hisilicon/Kconfig | 1 + drivers/crypto/hisilicon/hpre/hpre.h | 25 +- drivers/crypto/hisilicon/hpre/hpre_crypto.c | 861 +++++++++++++++++++++++++++- drivers/crypto/hisilicon/hpre/hpre_main.c | 105 ++-- drivers/crypto/hisilicon/qm.c | 4 +- drivers/crypto/hisilicon/qm.h | 4 +- drivers/crypto/hisilicon/sec2/sec.h | 4 +- drivers/crypto/hisilicon/sec2/sec_crypto.c | 4 +- drivers/crypto/hisilicon/sec2/sec_crypto.h | 4 +- drivers/crypto/hisilicon/zip/zip.h | 4 +- drivers/crypto/hisilicon/zip/zip_crypto.c | 4 +- include/crypto/ecc_curve.h | 60 ++ include/crypto/ecdh.h | 5 +- 17 files changed, 1191 insertions(+), 128 deletions(-) create mode 100644 include/crypto/ecc_curve.h -- 2.8.1