Support sm3 and md5 multi-buffer calculation by SVE instructions.
Weili Qian (4):
uadk/wd_alg: check whether the platform supports SVE
uadk/sched: fix async mode ctx id
uadk: initializes ctx resources in SVE mode
uadk/hash_mb: support multi-buffer calculation for sm3 and md5
Makefile.am | 15 +-
drv/hash_mb/hash_mb.c | 860 ++++++++++++++++++++++++++++++++++
drv/hash_mb/hash_mb.h | 60 +++
drv/hash_mb/md5_mb_asimd_x1.S | 248 ++++++++++
drv/hash_mb/md5_mb_asimd_x4.S | 526 +++++++++++++++++++++
drv/hash_mb/md5_mb_sve.S | 158 +++++++
drv/hash_mb/md5_sve_common.S | 478 +++++++++++++++++++
drv/hash_mb/sm3_mb_asimd_x1.S | 387 +++++++++++++++
drv/hash_mb/sm3_mb_asimd_x4.S | 576 +++++++++++++++++++++++
drv/hash_mb/sm3_mb_sve.S | 161 +++++++
drv/hash_mb/sm3_sve_common.S | 505 ++++++++++++++++++++
include/wd_alg_common.h | 4 +
wd_alg.c | 14 +
wd_sched.c | 4 +-
wd_util.c | 95 +++-
15 files changed, 4074 insertions(+), 17 deletions(-)
create mode 100644 drv/hash_mb/hash_mb.c
create mode 100644 drv/hash_mb/hash_mb.h
create mode 100644 drv/hash_mb/md5_mb_asimd_x1.S
create mode 100644 drv/hash_mb/md5_mb_asimd_x4.S
create mode 100644 drv/hash_mb/md5_mb_sve.S
create mode 100644 drv/hash_mb/md5_sve_common.S
create mode 100644 drv/hash_mb/sm3_mb_asimd_x1.S
create mode 100644 drv/hash_mb/sm3_mb_asimd_x4.S
create mode 100644 drv/hash_mb/sm3_mb_sve.S
create mode 100644 drv/hash_mb/sm3_sve_common.S
--
2.33.0