From: Longfang Liu <liulongfang@huawei.com> To complete the overall framework update design for UADK, I need to retain only the cipher algorithm and hisi_sec driver while disabling the APIs of all other modules. After debugging this module successfully, I will gradually adapt the remaining modules one by one to accelerate the solution's debugging process. Additionally, the corresponding modifications need to be made in `build/specs/uadk.spec` to disable the copying operations of other testing tools, retaining only `uadk_tool`. Signed-off-by: Longfang Liu <liulongfang@huawei.com> --- BK_Makefile | 225 +++++++ Makefile.am | 145 +---- drv/hisi_sec.c | 8 + uadk_tool/BK_Makefile | 63 ++ uadk_tool/Makefile.am | 27 +- uadk_tool/benchmark/sec_uadk_benchmark.c | 784 +---------------------- uadk_tool/benchmark/uadk_benchmark.c | 30 - uadk_tool/uadk_tool.c | 13 +- 8 files changed, 330 insertions(+), 965 deletions(-) create mode 100644 BK_Makefile create mode 100644 uadk_tool/BK_Makefile diff --git a/BK_Makefile b/BK_Makefile new file mode 100644 index 0000000..89f949a --- /dev/null +++ b/BK_Makefile @@ -0,0 +1,225 @@ +ACLOCAL_AMFLAGS = -I m4 -I./include +AUTOMAKE_OPTIONS = foreign subdir-objects +AM_CFLAGS=-std=gnu11 -Wall -Werror -Wextra -Wno-unused-parameter -Wfloat-equal \ + -fno-common -fno-strict-aliasing -I$(top_srcdir)/include +AM_CFLAGS+=-fPIC -fPIE -pie -fstack-protector-strong \ + -g +AM_CFLAGS += -Wall -Wuninitialized -Wno-error -Wno-error=format -Wundef \ +-Wunused -Wdate-time -Wfloat-equal -Wshadow -Wvla -Wdisabled-optimization \ +-Wempty-body -Wignored-qualifiers -Wimplicit-fallthrough=3 -Wtype-limits \ +-Wshift-negative-value -Wswitch-default -Wframe-larger-than=8192 -Wshift-overflow=2 \ +-Wwrite-strings -Wmissing-format-attribute -Wformat-nonliteral -Wduplicated-cond \ +-Wtrampolines -Wlogical-op -Wsuggest-attribute=format -Wduplicated-branches \ +-Wmissing-include-dirs -Wformat-signedness -Wmissing-declarations -Wreturn-local-addr \ +-Wredundant-decls -Wfloat-conversion -Wmissing-prototypes -Wstrict-prototypes + +CLEANFILES = + +if WITH_LOG_FILE +AM_CFLAGS+=-DWITH_LOG_FILE=\"$(with_log_file)\" +endif # WITH_LOG_FILE + +# libtool version is {current}:{revision}:{age} with -version-info +# libNAME.so.{x}.{y}.{z} +# But {current}:{revision}:{age} doesn't equal to {x}.{y}.{z} +# x = current - age +# y = age +# z = revision +# +# libtool version is {major}:{minor}:{revision} with -version-number +# libNAME.so.{x}.{y}.{z} +# x = major +# y = minor +# z = revision +MAJOR = 2 +MINOR = 8 +REVISION = 0 +UADK_VERSION = -version-number ${MAJOR}:${MINOR}:${REVISION} + +DAY = 1 +MONTH = Dec +YEAR = 2024 +AM_CFLAGS+= -DUADK_VERSION_NUMBER="\"UADK version: ${MAJOR}.${MINOR}.${REVISION}\"" +AM_CFLAGS+= -DUADK_RELEASED_TIME="\"Released ${MONTH} ${DAY}, ${YEAR}\"" + +pkginclude_HEADERS = include/wd.h include/wd_internal.h include/wd_cipher.h include/wd_aead.h \ + include/wd_comp.h include/wd_dh.h include/wd_digest.h \ + include/wd_rsa.h include/uacce.h include/wd_alg_common.h \ + include/wd_ecc.h include/wd_sched.h include/wd_alg.h \ + include/wd_zlibwrapper.h include/wd_dae.h include/wd_agg.h \ + include/wd_udma.h include/wd_join_gather.h \ + include/wd_bmm.h + +nobase_pkginclude_HEADERS=v1/wd.h v1/wd_cipher.h v1/wd_aead.h v1/uacce.h v1/wd_dh.h \ + v1/wd_digest.h v1/wd_rsa.h v1/wd_bmm.h v1/wd_ecc.h v1/wd_comp.h + +lib_LTLIBRARIES=libwd.la libwd_comp.la libwd_crypto.la libwd_dae.la libwd_udma.la + +uadk_driversdir=$(libdir)/uadk +uadk_drivers_LTLIBRARIES=libhisi_sec.la libhisi_hpre.la libhisi_zip.la \ + libisa_ce.la libisa_sve.la libhisi_dae.la libhisi_udma.la + +libwd_la_SOURCES=wd.c wd_mempool.c wd_bmm.c wd_bmm.h wd.h wd_alg.c wd_alg.h \ + v1/wd.c v1/wd.h v1/wd_adapter.c v1/wd_adapter.h \ + v1/wd_rsa.c v1/wd_rsa.h \ + v1/wd_aead.c v1/wd_aead.h \ + v1/wd_dh.c v1/wd_dh.h \ + v1/wd_comp.c v1/wd_comp.h \ + v1/wd_cipher.c v1/wd_cipher.h \ + v1/wd_digest.c v1/wd_digest.h \ + v1/wd_util.c v1/wd_util.h \ + v1/wd_bmm.c v1/wd_bmm.h \ + v1/wd_ecc.c v1/wd_ecc.h \ + v1/wd_sgl.c v1/wd_sgl.h \ + aes.h sm4.h galois.h \ + lib/crypto/aes.c lib/crypto/sm4.c lib/crypto/galois.c \ + v1/drv/hisi_qm_udrv.c v1/drv/hisi_qm_udrv.h \ + v1/drv/hisi_zip_udrv.c v1/drv/hisi_zip_udrv.h \ + v1/drv/hisi_zip_huf.c v1/drv/hisi_zip_huf.h \ + v1/drv/hisi_hpre_udrv.c v1/drv/hisi_hpre_udrv.h \ + v1/drv/hisi_sec_udrv.c v1/drv/hisi_sec_udrv.h + +libwd_udma_la_SOURCES=wd_udma.h wd_udma_drv.h wd_udma.c \ + wd_util.c wd_util.h wd_sched.c wd_sched.h wd.c wd.h + +libwd_dae_la_SOURCES=wd_dae.h wd_agg.h wd_agg_drv.h wd_agg.c wd_join_gather.h wd_join_gather_drv.h wd_join_gather.c \ + wd_util.c wd_util.h wd_sched.c wd_sched.h wd.c wd.h + +libwd_comp_la_SOURCES=wd_comp.c wd_comp.h wd_comp_drv.h wd_util.c wd_util.h \ + wd_sched.c wd_sched.h wd.c wd.h wd_zlibwrapper.c + +libhisi_zip_la_SOURCES=drv/hisi_comp.c hisi_comp.h drv/hisi_qm_udrv.c \ + drv/hisi_comp_huf.c drv/hisi_comp_huf.h \ + hisi_qm_udrv.h wd_comp_drv.h + +libwd_crypto_la_SOURCES=wd_cipher.c wd_cipher.h wd_cipher_drv.h \ + wd_aead.c wd_aead.h wd_aead_drv.h \ + wd_rsa.c wd_rsa.h wd_rsa_drv.h \ + wd_dh.c wd_dh.h wd_dh_drv.h \ + wd_ecc.c wd_ecc.h wd_ecc_drv.h \ + wd_digest.c wd_digest.h wd_digest_drv.h \ + wd_util.c wd_util.h \ + wd_sched.c wd_sched.h \ + wd.c wd.h + +libhisi_sec_la_SOURCES=drv/hisi_sec.c drv/hisi_qm_udrv.c \ + lib/crypto/aes.c lib/crypto/sm4.c lib/crypto/galois.c \ + hisi_qm_udrv.h wd_cipher_drv.h wd_aead_drv.h aes.h sm4.h galois.h + +libhisi_hpre_la_SOURCES=drv/hisi_hpre.c drv/hisi_qm_udrv.c \ + hisi_qm_udrv.h + +libisa_ce_la_SOURCES=arm_arch_ce.h drv/isa_ce_sm3.c drv/isa_ce_sm3_armv8.S isa_ce_sm3.h \ + drv/isa_ce_sm4.c drv/isa_ce_sm4_armv8.S drv/isa_ce_sm4.h wd_util.c wd_util.h + +libisa_sve_la_SOURCES=drv/hash_mb/hash_mb.c wd_digest_drv.h drv/hash_mb/hash_mb.h \ + drv/hash_mb/sm3_sve_common.S drv/hash_mb/sm3_mb_asimd_x1.S \ + drv/hash_mb/sm3_mb_asimd_x4.S drv/hash_mb/sm3_mb_sve.S \ + drv/hash_mb/md5_sve_common.S drv/hash_mb/md5_mb_asimd_x1.S \ + drv/hash_mb/md5_mb_asimd_x4.S drv/hash_mb/md5_mb_sve.S + +libhisi_dae_la_SOURCES=drv/hisi_dae.c hisi_dae.h drv/hisi_qm_udrv.c \ + hisi_qm_udrv.h drv/hisi_dae_join_gather.c drv/hisi_dae_common.c + +libhisi_udma_la_SOURCES=drv/hisi_udma.c drv/hisi_qm_udrv.c \ + hisi_qm_udrv.h + +if WD_STATIC_DRV +AM_CFLAGS += -DWD_STATIC_DRV -fPIC +AM_CFLAGS += -DWD_NO_LOG + +libwd_la_LIBADD = $(libwd_la_OBJECTS) -lnuma -lpthread + +libwd_comp_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lpthread -lnuma +libwd_comp_la_DEPENDENCIES = libwd.la + +libhisi_zip_la_LIBADD = -ldl -lpthread + +libwd_crypto_la_LIBADD = -lwd -ldl -lnuma -lm -lpthread +libwd_crypto_la_DEPENDENCIES = libwd.la + +libwd_udma_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lnuma -lm -lpthread +libwd_udma_la_DEPENDENCIES = libwd.la + +libwd_dae_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lnuma -lm -lpthread +libwd_dae_la_DEPENDENCIES = libwd.la + +libhisi_sec_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) +libhisi_sec_la_DEPENDENCIES = libwd.la libwd_crypto.la + +libhisi_hpre_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) +libhisi_hpre_la_DEPENDENCIES = libwd.la libwd_crypto.la + +libisa_ce_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) +libisa_ce_la_DEPENDENCIES = libwd.la libwd_crypto.la + +libisa_sve_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) +libisa_sve_la_DEPENDENCIES = libwd.la libwd_crypto.la + +libhisi_udma_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_udma_la_OBJECTS) +libhisi_udma_la_DEPENDENCIES = libwd.la libwd_udma.la + +libhisi_dae_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_dae_la_OBJECTS) +libhisi_dae_la_DEPENDENCIES = libwd.la libwd_dae.la + +else +UADK_WD_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd.map +UADK_CRYPTO_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_crypto.map +UADK_DAE_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_dae.map +UADK_COMP_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_comp.map +UADK_V1_SYMBOL= -Wl,--version-script,$(top_srcdir)/v1/libwd.map + +libwd_la_LDFLAGS=$(UADK_VERSION) $(UADK_WD_SYMBOL) $(UADK_V1_SYMBOL) +libwd_la_LIBADD= -lnuma -lrt + +libwd_comp_la_LIBADD= -lwd -ldl -lpthread -lnuma +libwd_comp_la_LDFLAGS=$(UADK_VERSION) $(UADK_COMP_SYMBOL) +libwd_comp_la_DEPENDENCIES= libwd.la + +libwd_crypto_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread +libwd_crypto_la_LDFLAGS=$(UADK_VERSION) $(UADK_CRYPTO_SYMBOL) +libwd_crypto_la_DEPENDENCIES= libwd.la + +libwd_udma_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread +libwd_udma_la_LDFLAGS=$(UADK_VERSION) $(UADK_DAE_SYMBOL) +libwd_udma_la_DEPENDENCIES= libwd.la + +libwd_dae_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread +libwd_dae_la_LDFLAGS=$(UADK_VERSION) $(UADK_DAE_SYMBOL) +libwd_dae_la_DEPENDENCIES= libwd.la + +libhisi_zip_la_LIBADD= -lwd -ldl -lwd_comp +libhisi_zip_la_LDFLAGS=$(UADK_VERSION) +libhisi_zip_la_DEPENDENCIES= libwd.la libwd_comp.la + +libhisi_sec_la_LIBADD= -lwd -lwd_crypto +libhisi_sec_la_LDFLAGS=$(UADK_VERSION) +libhisi_sec_la_DEPENDENCIES= libwd.la libwd_crypto.la + +libhisi_hpre_la_LIBADD= -lwd -lwd_crypto +libhisi_hpre_la_LDFLAGS=$(UADK_VERSION) +libhisi_hpre_la_DEPENDENCIES= libwd.la libwd_crypto.la + +libisa_ce_la_LIBADD= -lwd -lwd_crypto +libisa_ce_la_LDFLAGS=$(UADK_VERSION) +libisa_ce_la_DEPENDENCIES= libwd.la libwd_crypto.la + +libisa_sve_la_LIBADD= -lwd -lwd_crypto +libisa_sve_la_LDFLAGS=$(UADK_VERSION) +libisa_sve_la_DEPENDENCIES= libwd.la libwd_crypto.la + +libhisi_udma_la_LIBADD= -lwd -lwd_udma +libhisi_udma_la_LDFLAGS=$(UADK_VERSION) +libhisi_udma_la_DEPENDENCIES= libwd.la libwd_udma.la + +libhisi_dae_la_LIBADD= -lwd -lwd_dae +libhisi_dae_la_LDFLAGS=$(UADK_VERSION) +libhisi_dae_la_DEPENDENCIES= libwd.la libwd_dae.la + +endif # WD_STATIC_DRV + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = lib/libwd_crypto.pc lib/libwd_comp.pc lib/libwd.pc +CLEANFILES += $(pkgconfig_DATA) + +SUBDIRS=. test v1/test uadk_tool sample diff --git a/Makefile.am b/Makefile.am index 89f949a..fc14529 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,7 @@ ACLOCAL_AMFLAGS = -I m4 -I./include AUTOMAKE_OPTIONS = foreign subdir-objects + +# Compiler flags for strict code quality and security AM_CFLAGS=-std=gnu11 -Wall -Werror -Wextra -Wno-unused-parameter -Wfloat-equal \ -fno-common -fno-strict-aliasing -I$(top_srcdir)/include AM_CFLAGS+=-fPIC -fPIE -pie -fstack-protector-strong \ @@ -15,100 +17,56 @@ AM_CFLAGS += -Wall -Wuninitialized -Wno-error -Wno-error=format -Wundef \ CLEANFILES = +# Log file configuration if WITH_LOG_FILE AM_CFLAGS+=-DWITH_LOG_FILE=\"$(with_log_file)\" endif # WITH_LOG_FILE -# libtool version is {current}:{revision}:{age} with -version-info -# libNAME.so.{x}.{y}.{z} -# But {current}:{revision}:{age} doesn't equal to {x}.{y}.{z} -# x = current - age -# y = age -# z = revision -# -# libtool version is {major}:{minor}:{revision} with -version-number -# libNAME.so.{x}.{y}.{z} -# x = major -# y = minor -# z = revision +# Library version configuration +# libtool version format: {major}:{minor}:{revision} MAJOR = 2 MINOR = 8 REVISION = 0 UADK_VERSION = -version-number ${MAJOR}:${MINOR}:${REVISION} +# Release information DAY = 1 MONTH = Dec YEAR = 2024 AM_CFLAGS+= -DUADK_VERSION_NUMBER="\"UADK version: ${MAJOR}.${MINOR}.${REVISION}\"" AM_CFLAGS+= -DUADK_RELEASED_TIME="\"Released ${MONTH} ${DAY}, ${YEAR}\"" -pkginclude_HEADERS = include/wd.h include/wd_internal.h include/wd_cipher.h include/wd_aead.h \ - include/wd_comp.h include/wd_dh.h include/wd_digest.h \ - include/wd_rsa.h include/uacce.h include/wd_alg_common.h \ - include/wd_ecc.h include/wd_sched.h include/wd_alg.h \ - include/wd_zlibwrapper.h include/wd_dae.h include/wd_agg.h \ - include/wd_udma.h include/wd_join_gather.h \ - include/wd_bmm.h +# Header files for cipher module only +pkginclude_HEADERS = include/wd.h include/wd_internal.h include/wd_cipher.h \ + include/wd_aead.h include/uacce.h include/wd_alg_common.h \ + include/wd_sched.h include/wd_alg.h -nobase_pkginclude_HEADERS=v1/wd.h v1/wd_cipher.h v1/wd_aead.h v1/uacce.h v1/wd_dh.h \ - v1/wd_digest.h v1/wd_rsa.h v1/wd_bmm.h v1/wd_ecc.h v1/wd_comp.h +nobase_pkginclude_HEADERS=v1/wd.h v1/wd_cipher.h v1/wd_aead.h v1/uacce.h -lib_LTLIBRARIES=libwd.la libwd_comp.la libwd_crypto.la libwd_dae.la libwd_udma.la +# Library targets - only cipher-related libraries +lib_LTLIBRARIES=libwd.la libwd_crypto.la +# Cipher-specific drivers only uadk_driversdir=$(libdir)/uadk -uadk_drivers_LTLIBRARIES=libhisi_sec.la libhisi_hpre.la libhisi_zip.la \ - libisa_ce.la libisa_sve.la libhisi_dae.la libhisi_udma.la +uadk_drivers_LTLIBRARIES=libhisi_sec.la libisa_ce.la libisa_sve.la +# Core framework library (libwd) - minimal sources for cipher support libwd_la_SOURCES=wd.c wd_mempool.c wd_bmm.c wd_bmm.h wd.h wd_alg.c wd_alg.h \ - v1/wd.c v1/wd.h v1/wd_adapter.c v1/wd_adapter.h \ - v1/wd_rsa.c v1/wd_rsa.h \ - v1/wd_aead.c v1/wd_aead.h \ - v1/wd_dh.c v1/wd_dh.h \ - v1/wd_comp.c v1/wd_comp.h \ - v1/wd_cipher.c v1/wd_cipher.h \ - v1/wd_digest.c v1/wd_digest.h \ - v1/wd_util.c v1/wd_util.h \ - v1/wd_bmm.c v1/wd_bmm.h \ - v1/wd_ecc.c v1/wd_ecc.h \ - v1/wd_sgl.c v1/wd_sgl.h \ aes.h sm4.h galois.h \ - lib/crypto/aes.c lib/crypto/sm4.c lib/crypto/galois.c \ - v1/drv/hisi_qm_udrv.c v1/drv/hisi_qm_udrv.h \ - v1/drv/hisi_zip_udrv.c v1/drv/hisi_zip_udrv.h \ - v1/drv/hisi_zip_huf.c v1/drv/hisi_zip_huf.h \ - v1/drv/hisi_hpre_udrv.c v1/drv/hisi_hpre_udrv.h \ - v1/drv/hisi_sec_udrv.c v1/drv/hisi_sec_udrv.h - -libwd_udma_la_SOURCES=wd_udma.h wd_udma_drv.h wd_udma.c \ - wd_util.c wd_util.h wd_sched.c wd_sched.h wd.c wd.h - -libwd_dae_la_SOURCES=wd_dae.h wd_agg.h wd_agg_drv.h wd_agg.c wd_join_gather.h wd_join_gather_drv.h wd_join_gather.c \ - wd_util.c wd_util.h wd_sched.c wd_sched.h wd.c wd.h - -libwd_comp_la_SOURCES=wd_comp.c wd_comp.h wd_comp_drv.h wd_util.c wd_util.h \ - wd_sched.c wd_sched.h wd.c wd.h wd_zlibwrapper.c - -libhisi_zip_la_SOURCES=drv/hisi_comp.c hisi_comp.h drv/hisi_qm_udrv.c \ - drv/hisi_comp_huf.c drv/hisi_comp_huf.h \ - hisi_qm_udrv.h wd_comp_drv.h + lib/crypto/aes.c lib/crypto/sm4.c lib/crypto/galois.c +# Crypto library with cipher and aead support only libwd_crypto_la_SOURCES=wd_cipher.c wd_cipher.h wd_cipher_drv.h \ wd_aead.c wd_aead.h wd_aead_drv.h \ - wd_rsa.c wd_rsa.h wd_rsa_drv.h \ - wd_dh.c wd_dh.h wd_dh_drv.h \ - wd_ecc.c wd_ecc.h wd_ecc_drv.h \ - wd_digest.c wd_digest.h wd_digest_drv.h \ wd_util.c wd_util.h \ wd_sched.c wd_sched.h \ wd.c wd.h +# Cipher driver for hisi_sec hardware libhisi_sec_la_SOURCES=drv/hisi_sec.c drv/hisi_qm_udrv.c \ lib/crypto/aes.c lib/crypto/sm4.c lib/crypto/galois.c \ hisi_qm_udrv.h wd_cipher_drv.h wd_aead_drv.h aes.h sm4.h galois.h -libhisi_hpre_la_SOURCES=drv/hisi_hpre.c drv/hisi_qm_udrv.c \ - hisi_qm_udrv.h - libisa_ce_la_SOURCES=arm_arch_ce.h drv/isa_ce_sm3.c drv/isa_ce_sm3_armv8.S isa_ce_sm3.h \ drv/isa_ce_sm4.c drv/isa_ce_sm4_armv8.S drv/isa_ce_sm4.h wd_util.c wd_util.h @@ -118,88 +76,41 @@ libisa_sve_la_SOURCES=drv/hash_mb/hash_mb.c wd_digest_drv.h drv/hash_mb/hash_mb. drv/hash_mb/md5_sve_common.S drv/hash_mb/md5_mb_asimd_x1.S \ drv/hash_mb/md5_mb_asimd_x4.S drv/hash_mb/md5_mb_sve.S -libhisi_dae_la_SOURCES=drv/hisi_dae.c hisi_dae.h drv/hisi_qm_udrv.c \ - hisi_qm_udrv.h drv/hisi_dae_join_gather.c drv/hisi_dae_common.c - -libhisi_udma_la_SOURCES=drv/hisi_udma.c drv/hisi_qm_udrv.c \ - hisi_qm_udrv.h - +# Static driver build configuration if WD_STATIC_DRV AM_CFLAGS += -DWD_STATIC_DRV -fPIC AM_CFLAGS += -DWD_NO_LOG libwd_la_LIBADD = $(libwd_la_OBJECTS) -lnuma -lpthread -libwd_comp_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lpthread -lnuma -libwd_comp_la_DEPENDENCIES = libwd.la - -libhisi_zip_la_LIBADD = -ldl -lpthread - libwd_crypto_la_LIBADD = -lwd -ldl -lnuma -lm -lpthread libwd_crypto_la_DEPENDENCIES = libwd.la -libwd_udma_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lnuma -lm -lpthread -libwd_udma_la_DEPENDENCIES = libwd.la - -libwd_dae_la_LIBADD = $(libwd_la_OBJECTS) -ldl -lnuma -lm -lpthread -libwd_dae_la_DEPENDENCIES = libwd.la - libhisi_sec_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) libhisi_sec_la_DEPENDENCIES = libwd.la libwd_crypto.la -libhisi_hpre_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) -libhisi_hpre_la_DEPENDENCIES = libwd.la libwd_crypto.la - libisa_ce_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) libisa_ce_la_DEPENDENCIES = libwd.la libwd_crypto.la libisa_sve_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_crypto_la_OBJECTS) libisa_sve_la_DEPENDENCIES = libwd.la libwd_crypto.la - -libhisi_udma_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_udma_la_OBJECTS) -libhisi_udma_la_DEPENDENCIES = libwd.la libwd_udma.la - -libhisi_dae_la_LIBADD = $(libwd_la_OBJECTS) $(libwd_dae_la_OBJECTS) -libhisi_dae_la_DEPENDENCIES = libwd.la libwd_dae.la - else +# Dynamic driver build configuration UADK_WD_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd.map UADK_CRYPTO_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_crypto.map -UADK_DAE_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_dae.map -UADK_COMP_SYMBOL= -Wl,--version-script,$(top_srcdir)/libwd_comp.map UADK_V1_SYMBOL= -Wl,--version-script,$(top_srcdir)/v1/libwd.map libwd_la_LDFLAGS=$(UADK_VERSION) $(UADK_WD_SYMBOL) $(UADK_V1_SYMBOL) libwd_la_LIBADD= -lnuma -lrt -libwd_comp_la_LIBADD= -lwd -ldl -lpthread -lnuma -libwd_comp_la_LDFLAGS=$(UADK_VERSION) $(UADK_COMP_SYMBOL) -libwd_comp_la_DEPENDENCIES= libwd.la - libwd_crypto_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread libwd_crypto_la_LDFLAGS=$(UADK_VERSION) $(UADK_CRYPTO_SYMBOL) libwd_crypto_la_DEPENDENCIES= libwd.la -libwd_udma_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread -libwd_udma_la_LDFLAGS=$(UADK_VERSION) $(UADK_DAE_SYMBOL) -libwd_udma_la_DEPENDENCIES= libwd.la - -libwd_dae_la_LIBADD= -lwd -ldl -lnuma -lm -lpthread -libwd_dae_la_LDFLAGS=$(UADK_VERSION) $(UADK_DAE_SYMBOL) -libwd_dae_la_DEPENDENCIES= libwd.la - -libhisi_zip_la_LIBADD= -lwd -ldl -lwd_comp -libhisi_zip_la_LDFLAGS=$(UADK_VERSION) -libhisi_zip_la_DEPENDENCIES= libwd.la libwd_comp.la - libhisi_sec_la_LIBADD= -lwd -lwd_crypto libhisi_sec_la_LDFLAGS=$(UADK_VERSION) libhisi_sec_la_DEPENDENCIES= libwd.la libwd_crypto.la -libhisi_hpre_la_LIBADD= -lwd -lwd_crypto -libhisi_hpre_la_LDFLAGS=$(UADK_VERSION) -libhisi_hpre_la_DEPENDENCIES= libwd.la libwd_crypto.la - libisa_ce_la_LIBADD= -lwd -lwd_crypto libisa_ce_la_LDFLAGS=$(UADK_VERSION) libisa_ce_la_DEPENDENCIES= libwd.la libwd_crypto.la @@ -208,18 +119,12 @@ libisa_sve_la_LIBADD= -lwd -lwd_crypto libisa_sve_la_LDFLAGS=$(UADK_VERSION) libisa_sve_la_DEPENDENCIES= libwd.la libwd_crypto.la -libhisi_udma_la_LIBADD= -lwd -lwd_udma -libhisi_udma_la_LDFLAGS=$(UADK_VERSION) -libhisi_udma_la_DEPENDENCIES= libwd.la libwd_udma.la - -libhisi_dae_la_LIBADD= -lwd -lwd_dae -libhisi_dae_la_LDFLAGS=$(UADK_VERSION) -libhisi_dae_la_DEPENDENCIES= libwd.la libwd_dae.la - endif # WD_STATIC_DRV +# Package configuration files pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = lib/libwd_crypto.pc lib/libwd_comp.pc lib/libwd.pc +pkgconfig_DATA = lib/libwd_crypto.pc lib/libwd.pc CLEANFILES += $(pkgconfig_DATA) -SUBDIRS=. test v1/test uadk_tool sample +# Subdirectories - only include cipher-related tests and samples +SUBDIRS=. uadk_tool diff --git a/drv/hisi_sec.c b/drv/hisi_sec.c index ad209c4..0e17eb9 100644 --- a/drv/hisi_sec.c +++ b/drv/hisi_sec.c @@ -2022,6 +2022,7 @@ static void parse_digest_bd2(struct hisi_qp *qp, struct hisi_sec_sqe *sqe, if (qp->q_info.qp_mode == CTX_MODE_ASYNC) { recv_msg->alg_type = WD_DIGEST; recv_msg->data_fmt = get_data_fmt_v2(sqe->sds_sa_type); +#if 0 temp_msg = wd_digest_get_msg(qp->q_info.idx, recv_msg->tag); if (!temp_msg) { recv_msg->result = WD_IN_EPARA; @@ -2029,6 +2030,7 @@ static void parse_digest_bd2(struct hisi_qp *qp, struct hisi_sec_sqe *sqe, qp->q_info.idx, recv_msg->tag); return; } +#endif recv_msg->in = temp_msg->in; recv_msg->mm_ops = temp_msg->mm_ops; } else { @@ -2569,6 +2571,7 @@ static void parse_digest_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe, if (qp->q_info.qp_mode == CTX_MODE_ASYNC) { recv_msg->alg_type = WD_DIGEST; recv_msg->data_fmt = get_data_fmt_v3(sqe->bd_param); +#if 0 temp_msg = wd_digest_get_msg(qp->q_info.idx, recv_msg->tag); if (!temp_msg) { recv_msg->result = WD_IN_EPARA; @@ -2576,6 +2579,7 @@ static void parse_digest_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe, qp->q_info.idx, recv_msg->tag); return; } +#endif recv_msg->in = temp_msg->in; recv_msg->mm_ops = temp_msg->mm_ops; } else { @@ -3326,6 +3330,7 @@ static void parse_aead_bd2(struct hisi_qp *qp, struct hisi_sec_sqe *sqe, if (qp->q_info.qp_mode == CTX_MODE_ASYNC) { recv_msg->alg_type = WD_AEAD; recv_msg->data_fmt = get_data_fmt_v2(sqe->sds_sa_type); +#if 0 temp_msg = wd_aead_get_msg(qp->q_info.idx, recv_msg->tag); if (!temp_msg) { recv_msg->result = WD_IN_EPARA; @@ -3333,6 +3338,7 @@ static void parse_aead_bd2(struct hisi_qp *qp, struct hisi_sec_sqe *sqe, qp->q_info.idx, recv_msg->tag); return; } +#endif recv_msg->in = temp_msg->in; recv_msg->out = temp_msg->out; recv_msg->mm_ops = temp_msg->mm_ops; @@ -3842,6 +3848,7 @@ static void parse_aead_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe, if (qp->q_info.qp_mode == CTX_MODE_ASYNC) { recv_msg->alg_type = WD_AEAD; recv_msg->data_fmt = get_data_fmt_v3(sqe->bd_param); +#if 0 temp_msg = wd_aead_get_msg(qp->q_info.idx, recv_msg->tag); if (!temp_msg) { recv_msg->result = WD_IN_EPARA; @@ -3849,6 +3856,7 @@ static void parse_aead_bd3(struct hisi_qp *qp, struct hisi_sec_sqe3 *sqe, qp->q_info.idx, recv_msg->tag); return; } +#endif recv_msg->in = temp_msg->in; recv_msg->out = temp_msg->out; recv_msg->mm_ops = temp_msg->mm_ops; diff --git a/uadk_tool/BK_Makefile b/uadk_tool/BK_Makefile new file mode 100644 index 0000000..b0e50eb --- /dev/null +++ b/uadk_tool/BK_Makefile @@ -0,0 +1,63 @@ +ACLOCAL_AMFLAGS = -I m4 -I./include +AUTOMAKE_OPTIONS = foreign subdir-objects +AM_CFLAGS=-Wall -Werror -fno-strict-aliasing -I$(top_srcdir) -I$(top_srcdir)/benchmark/include \ + -pthread +AM_CFLAGS += -fPIC -fPIE -pie -fstack-protector-strong \ +-g + +#AUTOMAKE_OPTIONS = subdir-objects + +bin_PROGRAMS=uadk_tool + +uadk_tool_SOURCES=uadk_tool.c dfx/uadk_dfx.c dfx/uadk_dfx.h \ + benchmark/uadk_benchmark.c benchmark/uadk_benchmark.h \ + benchmark/sec_uadk_benchmark.c benchmark/sec_uadk_benchmark.h \ + benchmark/sec_wd_benchmark.c benchmark/sec_wd_benchmark.h \ + benchmark/hpre_uadk_benchmark.c benchmark/hpre_uadk_benchmark.h \ + benchmark/hpre_wd_benchmark.c hpre_wd_benchmark.h \ + benchmark/zip_uadk_benchmark.c benchmark/zip_uadk_benchmark.h \ + benchmark/zip_wd_benchmark.c benchmark/zip_wd_benchmark.h \ + test/uadk_test.c test/uadk_test.h \ + test/test_sec.c test/test_sec.h test/sec_template_tv.h + +if WD_STATIC_DRV +AM_CFLAGS+=-Bstatic +uadk_tool_LDADD=$(libwd_la_OBJECTS) \ + $(libwd_crypto_la_OBJECTS) \ + ../.libs/libwd_comp.a \ + ../.libs/libhisi_sec.a \ + ../.libs/libhisi_hpre.a \ + ../.libs/libhisi_zip.a \ + ../.libs/libisa_ce.a \ + -ldl -lnuma +else +uadk_tool_LDADD=-L../.libs -l:libwd.so.2 -l:libwd_crypto.so.2 \ + -l:libwd_comp.so.2 -lnuma +endif + +# For statistics +uadk_tool_LDADD+=-lm + +if HAVE_ZLIB +uadk_tool_LDADD+=-lz +uadk_tool_CPPFLAGS=-DUSE_ZLIB +endif + +if WITH_ZLIB_FSE_DIR +AM_CFLAGS += -DZLIB_FSE +uadk_tool_LDADD+= $(with_zlib_fse_dir)/libfse.a +endif + +if WITH_OPENSSL_DIR +AM_CFLAGS+= -DWITH_OPENSSL_DIR -I$(with_openssl_dir)/include + +uadk_tool_SOURCES+=benchmark/sec_soft_benchmark.c benchmark/sec_soft_benchmark.h \ + test/comp_main.c test/comp_main.h test/comp_lib.c test/comp_lib.h + +if WD_STATIC_DRV +uadk_tool_LDADD+= $(with_openssl_dir)/libcrypto.a +else +uadk_tool_LDADD+= $(with_openssl_dir)/libcrypto.so.1.1 +endif + +endif diff --git a/uadk_tool/Makefile.am b/uadk_tool/Makefile.am index b0e50eb..7b1c1ac 100644 --- a/uadk_tool/Makefile.am +++ b/uadk_tool/Makefile.am @@ -9,30 +9,20 @@ AM_CFLAGS += -fPIC -fPIE -pie -fstack-protector-strong \ bin_PROGRAMS=uadk_tool -uadk_tool_SOURCES=uadk_tool.c dfx/uadk_dfx.c dfx/uadk_dfx.h \ +# Only keep cipher-related test sources +uadk_tool_SOURCES=uadk_tool.c \ benchmark/uadk_benchmark.c benchmark/uadk_benchmark.h \ - benchmark/sec_uadk_benchmark.c benchmark/sec_uadk_benchmark.h \ - benchmark/sec_wd_benchmark.c benchmark/sec_wd_benchmark.h \ - benchmark/hpre_uadk_benchmark.c benchmark/hpre_uadk_benchmark.h \ - benchmark/hpre_wd_benchmark.c hpre_wd_benchmark.h \ - benchmark/zip_uadk_benchmark.c benchmark/zip_uadk_benchmark.h \ - benchmark/zip_wd_benchmark.c benchmark/zip_wd_benchmark.h \ - test/uadk_test.c test/uadk_test.h \ - test/test_sec.c test/test_sec.h test/sec_template_tv.h + benchmark/sec_uadk_benchmark.c benchmark/sec_uadk_benchmark.h if WD_STATIC_DRV AM_CFLAGS+=-Bstatic uadk_tool_LDADD=$(libwd_la_OBJECTS) \ $(libwd_crypto_la_OBJECTS) \ - ../.libs/libwd_comp.a \ ../.libs/libhisi_sec.a \ - ../.libs/libhisi_hpre.a \ - ../.libs/libhisi_zip.a \ - ../.libs/libisa_ce.a \ -ldl -lnuma else uadk_tool_LDADD=-L../.libs -l:libwd.so.2 -l:libwd_crypto.so.2 \ - -l:libwd_comp.so.2 -lnuma + -lnuma endif # For statistics @@ -43,16 +33,11 @@ uadk_tool_LDADD+=-lz uadk_tool_CPPFLAGS=-DUSE_ZLIB endif -if WITH_ZLIB_FSE_DIR -AM_CFLAGS += -DZLIB_FSE -uadk_tool_LDADD+= $(with_zlib_fse_dir)/libfse.a -endif - if WITH_OPENSSL_DIR AM_CFLAGS+= -DWITH_OPENSSL_DIR -I$(with_openssl_dir)/include -uadk_tool_SOURCES+=benchmark/sec_soft_benchmark.c benchmark/sec_soft_benchmark.h \ - test/comp_main.c test/comp_main.h test/comp_lib.c test/comp_lib.h +# Only keep cipher-related soft benchmark +uadk_tool_SOURCES+=benchmark/sec_soft_benchmark.c benchmark/sec_soft_benchmark.h if WD_STATIC_DRV uadk_tool_LDADD+= $(with_openssl_dir)/libcrypto.a diff --git a/uadk_tool/benchmark/sec_uadk_benchmark.c b/uadk_tool/benchmark/sec_uadk_benchmark.c index e235058..420110e 100644 --- a/uadk_tool/benchmark/sec_uadk_benchmark.c +++ b/uadk_tool/benchmark/sec_uadk_benchmark.c @@ -5,8 +5,6 @@ #include "sec_uadk_benchmark.h" #include "include/wd_cipher.h" -#include "include/wd_digest.h" -#include "include/wd_aead.h" #include "include/wd_sched.h" #include "include/wd_bmm.h" @@ -70,7 +68,6 @@ static unsigned int g_pktlen; static unsigned int g_alg; static unsigned int g_algtype; static unsigned int g_optype; -static unsigned int g_maclen; static unsigned int g_dev_id; static unsigned int g_data_fmt; @@ -120,55 +117,16 @@ struct aead_alg_info aead_info[] = { }, }; -static u32 get_aead_mac_len(int algtype) -{ - int table_size = sizeof(aead_info) / sizeof(aead_info[0]); - int i; - - for (i = 0; i < table_size; i++) { - if (algtype == aead_info[i].index) - return aead_info[i].mac_len; - } - - SEC_TST_PRT("failed to get the aead mac len\n"); - - return -1; -} - -static char *get_aead_alg_name(int algtype) -{ - int table_size = sizeof(aead_info) / sizeof(aead_info[0]); - int i; - - for (i = 0; i < table_size; i++) { - if (algtype == aead_info[i].index) - return aead_info[i].name; - } - - SEC_TST_PRT("failed to get the aead alg name\n"); - - return NULL; -} static void *cipher_async_cb(struct wd_cipher_req *req, void *data) { return NULL; } -static void *aead_async_cb(struct wd_aead_req *req, void *data) -{ - return NULL; -} - -static void *digest_async_cb(void *data) -{ - return NULL; -} static int sec_uadk_param_parse(thread_data *tddata, struct acc_option *options) { u32 algtype = options->algtype; - u32 optype = options->optype; bool is_union = false; u32 out_bytes = 32; u8 keysize = 0; @@ -455,51 +413,6 @@ static int sec_uadk_param_parse(thread_data *tddata, struct acc_option *options) mode = WD_CIPHER_GCM; alg = WD_CIPHER_AES; break; - case AES_128_CBC_SHA256_HMAC: - keysize = 16; - ivsize = 16; - mode = WD_CIPHER_CBC; - alg = WD_CIPHER_AES; - is_union = true; - dalg = WD_DIGEST_SHA256; - dmode = WD_DIGEST_HMAC; - break; - case AES_192_CBC_SHA256_HMAC: - keysize = 24; - ivsize = 16; - mode = WD_CIPHER_CBC; - alg = WD_CIPHER_AES; - is_union = true; - dalg = WD_DIGEST_SHA256; - dmode = WD_DIGEST_HMAC; - break; - case AES_256_CBC_SHA256_HMAC: - keysize = 32; - ivsize = 16; - mode = WD_CIPHER_CBC; - alg = WD_CIPHER_AES; - is_union = true; - dalg = WD_DIGEST_SHA256; - dmode = WD_DIGEST_HMAC; - break; - case AES_128_CBC_SHA1_HMAC: - keysize = 16; - ivsize = 16; - mode = WD_CIPHER_CBC; - alg = WD_CIPHER_AES; - is_union = true; - dalg = WD_DIGEST_SHA1; - dmode = WD_DIGEST_HMAC; - break; - case SM4_CBC_SM3_HMAC: - keysize = 16; - ivsize = 16; - mode = WD_CIPHER_CBC; - alg = WD_CIPHER_SM4; - is_union = true; - dalg = WD_DIGEST_SM3; - dmode = WD_DIGEST_HMAC; - break; case SM4_128_CCM: keysize = 16; ivsize = 16; @@ -512,60 +425,6 @@ static int sec_uadk_param_parse(thread_data *tddata, struct acc_option *options) mode = WD_CIPHER_GCM; alg = WD_CIPHER_SM4; break; - case SM3_ALG: // digest mode is optype - keysize = 4; - mode = optype; - out_bytes = 32; - alg = WD_DIGEST_SM3; - break; - case MD5_ALG: - keysize = 4; - out_bytes = 16; - mode = optype; - alg = WD_DIGEST_MD5; - break; - case SHA1_ALG: - keysize = 4; - out_bytes = 20; - mode = optype; - alg = WD_DIGEST_SHA1; - break; - case SHA256_ALG: - keysize = 4; - out_bytes = 32; - mode = optype; - alg = WD_DIGEST_SHA256; - break; - case SHA224_ALG: - keysize = 4; - out_bytes = 28; - mode = optype; - alg = WD_DIGEST_SHA224; - break; - case SHA384_ALG: - keysize = 4; - out_bytes = 48; - mode = optype; - alg = WD_DIGEST_SHA384; - break; - case SHA512_ALG: - keysize = 4; - out_bytes = 64; - mode = optype; - alg = WD_DIGEST_SHA512; - break; - case SHA512_224: - keysize = 4; - out_bytes = 28; - mode = optype; - alg = WD_DIGEST_SHA512_224; - break; - case SHA512_256: - keysize = 4; - out_bytes = 32; - mode = optype; - alg = WD_DIGEST_SHA512_256; - break; default: SEC_TST_PRT("failed to set sec alg\n"); return -EINVAL; @@ -737,22 +596,6 @@ static int init_ctx_config(struct acc_option *options) g_sched = wd_sched_rr_alloc(SCHED_POLICY_DEV, SEC_OP_TYPE_MAX, max_node, wd_cipher_poll_ctx); break; - case AEAD_TYPE: - if (options->mem_type == UADK_AUTO) - g_sched = wd_sched_rr_alloc(SCHED_POLICY_RR, SEC_OP_TYPE_MAX, - max_node, wd_aead_poll_ctx); - else - g_sched = wd_sched_rr_alloc(SCHED_POLICY_DEV, SEC_OP_TYPE_MAX, - max_node, wd_aead_poll_ctx); - break; - case DIGEST_TYPE: - if (options->mem_type == UADK_AUTO) - g_sched = wd_sched_rr_alloc(SCHED_POLICY_RR, SEC_OP_TYPE_MAX, - max_node, wd_digest_poll_ctx); - else - g_sched = wd_sched_rr_alloc(SCHED_POLICY_DEV, SEC_OP_TYPE_MAX, - max_node, wd_digest_poll_ctx); - break; default: SEC_TST_PRT("failed to parse alg subtype!\n"); goto free_ctx; @@ -780,12 +623,6 @@ static int init_ctx_config(struct acc_option *options) case CIPHER_TYPE: ret = wd_cipher_init(&g_ctx_cfg, g_sched); break; - case AEAD_TYPE: - ret = wd_aead_init(&g_ctx_cfg, g_sched); - break; - case DIGEST_TYPE: - ret = wd_digest_init(&g_ctx_cfg, g_sched); - break; } if (ret) { SEC_TST_PRT("failed to init sec ctx!\n"); @@ -816,12 +653,6 @@ static void uninit_ctx_config(int subtype) case CIPHER_TYPE: wd_cipher_uninit(); break; - case AEAD_TYPE: - wd_aead_uninit(); - break; - case DIGEST_TYPE: - wd_digest_uninit(); - break; default: SEC_TST_PRT("failed to parse alg subtype on uninit!\n"); return; @@ -841,13 +672,6 @@ static void uninit_ctx_config2(int subtype) case CIPHER_INSTR_TYPE: wd_cipher_uninit2(); break; - case AEAD_TYPE: - wd_aead_uninit2(); - break; - case DIGEST_TYPE: - case DIGEST_INSTR_TYPE: - wd_digest_uninit2(); - break; default: SEC_TST_PRT("failed to parse alg subtype on uninit2!\n"); return; @@ -912,29 +736,6 @@ static int init_ctx_config2(struct acc_option *options) if (ret) SEC_TST_PRT("failed to do cipher intruction init2!\n"); break; - case AEAD_TYPE: - if (options->mem_type == UADK_AUTO) - ret = wd_aead_init2_(alg_name, SCHED_POLICY_RR, TASK_HW, &ctx_params); - else - ret = wd_aead_init2_(alg_name, SCHED_POLICY_DEV, TASK_HW, &ctx_params); - if (ret) - SEC_TST_PRT("failed to do aead init2!\n"); - break; - case DIGEST_TYPE: - if (options->mem_type == UADK_AUTO) { - ctx_params.op_type_num = 1; - ret = wd_digest_init2_(alg_name, SCHED_POLICY_RR, options->task_type, &ctx_params); - } else - ret = wd_digest_init2_(alg_name, SCHED_POLICY_DEV, options->task_type, &ctx_params); - if (ret) - SEC_TST_PRT("failed to do digest init2!\n"); - break; - case DIGEST_INSTR_TYPE: - ctx_params.op_type_num = 1; - ret = wd_digest_init2_(alg_name, SCHED_POLICY_INSTR, TASK_INSTR, &ctx_params); - if (ret) - SEC_TST_PRT("failed to do digest instruction init2!\n"); - break; } if (ret) { SEC_TST_PRT("failed to do cipher init2!\n"); @@ -944,95 +745,6 @@ static int init_ctx_config2(struct acc_option *options) return ret; } -static void get_aead_data(u8 *addr, u32 size) -{ - memset(addr, 0, size); - memcpy(addr, aead_aad, SEC_AEAD_LEN); -} - -static void save_aead_dst_data(u8 *addr, u32 size) -{ - char file_name[SEC_SAVE_FILE_LEN] = {0}; - char *alg_name; - FILE *fp; - - alg_name = get_aead_alg_name(g_algtype); - if (!alg_name) { - SEC_TST_PRT("failed to get the aead alg name!\n"); - return; - } - - snprintf(file_name, SEC_SAVE_FILE_LEN, "ctext_%s_%u", alg_name, g_pktlen); - - fp = fopen(file_name, "w"); - if (!fp) { - SEC_TST_PRT("failed to open the ctext file!\n"); - return; - } - - memcpy(addr + size, g_uadk_pool.pool[0].bds[0].mac, SEC_PERF_AUTH_SIZE); - - for (int i = 0; i < size + SEC_PERF_AUTH_SIZE; i++) - fputc((char)addr[i], fp); - - fclose(fp); -} - -static void read_aead_dst_data(u8 *addr, u32 len) -{ - char file_name[SEC_SAVE_FILE_LEN] = {0}; - struct wd_datalist *current; - size_t bytes_to_read = 0; - size_t bytes_read = 0; - char *alg_name; - FILE *fp; - int size; - - alg_name = get_aead_alg_name(g_algtype); - if (!alg_name) { - SEC_TST_PRT("failed to get the aead alg name!\n"); - return; - } - - snprintf(file_name, SEC_SAVE_FILE_LEN, "ctext_%s_%u", alg_name, g_pktlen); - - fp = fopen(file_name, "r"); - if (!fp) { - SEC_TST_PRT("failed to open the ctext file!\n"); - return; - } - - fseek(fp, 0, SEEK_END); - size = ftell(fp); - - rewind(fp); - - if (!g_data_fmt) { - size = fread(addr, 1, size, fp); - addr[size] = '\0'; - - memcpy(g_save_mac, (char *)addr + len, SEC_MAX_MAC_LEN); - } else { - current = (struct wd_datalist *)addr; - while (current && size > 0) { - bytes_to_read = current->len; - if (bytes_to_read > size) - bytes_to_read = size; - bytes_read = fread(current->data, 1, bytes_to_read, fp); - - if (bytes_read != bytes_to_read) { - SEC_TST_PRT("partial read: expected %zu, got %zu\n", bytes_to_read, bytes_read); - fclose(fp); - return; - } - size -= bytes_read; - current = current->next; - } - } - - fclose(fp); -} - static int init_ivkey_source(void) { int i, j, m, idx; @@ -1129,12 +841,8 @@ static void *create_buf(int sgl, size_t sz, size_t unit_sz) if (sgl == WD_FLAT_BUF) return buf; - if (g_alg != AEAD_TYPE) { + if (g_alg != AEAD_TYPE) get_rand_data(buf, g_pktlen); - } else { - if (!g_optype) - get_aead_data(buf, g_pktlen + SEC_AEAD_LEN); - } tail_sz = sz % unit_sz; sgl_num = sz / unit_sz; /* the number with unit_sz bytes */ @@ -1250,22 +958,9 @@ static int init_uadk_bd_pool(void) if (g_prefetch) get_rand_data(g_uadk_pool.pool[i].bds[j].dst, g_pktlen); - } else { - if (!g_optype) - get_aead_data(g_uadk_pool.pool[i].bds[j].src, - g_pktlen + SEC_AEAD_LEN); - else { - read_aead_dst_data(g_uadk_pool.pool[i].bds[j].src, - g_pktlen + SEC_AEAD_LEN); - memcpy(g_uadk_pool.pool[i].bds[j].mac, g_save_mac, SEC_MAX_MAC_LEN); - } } } else if (g_data_fmt == WD_SGL_BUF) { - if (g_optype && g_alg == AEAD_TYPE) { - read_aead_dst_data(g_uadk_pool.pool[i].bds[j].src, - g_pktlen + SEC_AEAD_LEN); - memcpy(g_uadk_pool.pool[i].bds[j].mac, g_save_mac, SEC_MAX_MAC_LEN); - } else if (g_prefetch && g_alg == DIGEST_TYPE) { + if (g_prefetch && g_alg == DIGEST_TYPE) { get_rand_data(g_uadk_pool.pool[i].bds[j].dst, g_pktlen); } } @@ -1312,11 +1007,6 @@ static void free_uadk_bd_pool(void) { int i, j; - /* save aad + ctext + mac */ - if (g_alg == AEAD_TYPE && !g_optype) - save_aead_dst_data(g_uadk_pool.pool[0].bds[0].dst, - g_pktlen + SEC_AEAD_LEN); - for (i = 0; i < g_thread_num; i++) { if (g_uadk_pool.pool[i].bds) { for (j = 0; j < MAX_POOL_LENTH; j++) { @@ -1557,13 +1247,6 @@ static int init_uadk_rsv_pool(struct acc_option *option) get_rand_data(g_uadk_pool.pool[i].bds[j].src, g_pktlen); if (g_prefetch) get_rand_data(g_uadk_pool.pool[i].bds[j].dst, g_pktlen); - } else { - if (!g_optype) - get_aead_data(g_uadk_pool.pool[i].bds[j].src, g_pktlen + SEC_AEAD_LEN); - else { - read_aead_dst_data(g_uadk_pool.pool[i].bds[j].src, g_pktlen + SEC_AEAD_LEN); - memcpy(g_uadk_pool.pool[i].bds[j].mac, g_save_mac, SEC_MAX_MAC_LEN); - } } } } @@ -1622,11 +1305,6 @@ static void free_uadk_rsv_pool(struct acc_option *option) handle_t h_ctx = (handle_t)g_ctx_cfg.priv; int i, j; - /* save aad + ctext + mac */ - if (g_alg == AEAD_TYPE && !g_optype) - save_aead_dst_data(g_uadk_pool.pool[0].bds[0].dst, - g_pktlen + SEC_AEAD_LEN); - for (i = 0; i < g_thread_num; i++) { if (g_uadk_pool.pool[i].bds) { for (j = 0; j < MAX_POOL_LENTH; j++) { @@ -1674,12 +1352,6 @@ static void *sec_uadk_poll(void *data) case CIPHER_TYPE: uadk_poll_ctx = wd_cipher_poll_ctx; break; - case AEAD_TYPE: - uadk_poll_ctx = wd_aead_poll_ctx; - break; - case DIGEST_TYPE: - uadk_poll_ctx = wd_digest_poll_ctx; - break; default: SEC_TST_PRT("<<<<<<async poll interface is NULL!\n"); return NULL; @@ -1719,18 +1391,9 @@ static void *sec_uadk_poll2(void *data) case CIPHER_TYPE: uadk_poll_policy = wd_cipher_poll; break; - case AEAD_TYPE: - uadk_poll_policy = wd_aead_poll; - break; - case DIGEST_TYPE: - uadk_poll_policy = wd_digest_poll; - break; case CIPHER_INSTR_TYPE: uadk_poll_policy = wd_cipher_poll; break; - case DIGEST_INSTR_TYPE: - uadk_poll_policy = wd_digest_poll; - break; default: SEC_TST_PRT("<<<<<<async poll interface is NULL!\n"); return NULL; @@ -1858,247 +1521,6 @@ static void *sec_uadk_cipher_async(void *arg) return NULL; } -static void *sec_uadk_aead_async(void *arg) -{ - thread_data *pdata = (thread_data *)arg; - struct wd_aead_sess_setup aead_setup = {0}; - struct sched_params sc_param = {0}; - u8 *priv_iv, *priv_key, *priv_hash; - u32 auth_size = SEC_PERF_AUTH_SIZE; - struct wd_aead_req areq = {0}; - struct bd_pool *uadk_pool; - int try_cnt = 0; - handle_t h_sess; - u32 count = 0; - int ret, i; - - if (pdata->td_id > g_thread_num) - return NULL; - - uadk_pool = &g_uadk_pool.pool[pdata->td_id]; - priv_iv = g_uadk_pool.iv[pdata->td_id]; - priv_key = g_uadk_pool.key[pdata->td_id]; - priv_hash = g_uadk_pool.hash[pdata->td_id]; - - memset(priv_iv, DEF_IVK_DATA, MAX_IVK_LENTH); - memset(priv_key, DEF_IVK_DATA, MAX_IVK_LENTH); - - aead_setup.calg = pdata->alg; - aead_setup.cmode = pdata->mode; - aead_setup.mm_type = pdata->mm_type; - sc_param.numa_id = 0; - sc_param.type = 0; - sc_param.mode = 0; // sync mode - if (g_uadk_pool.rsv_pool) - sc_param.dev_id = wd_get_dev_id(g_uadk_pool.rsv_pool); - aead_setup.sched_param = (void *)&sc_param; - - aead_setup.mm_ops.usr = g_uadk_pool.rsv_pool; - aead_setup.mm_ops.alloc = (void *)wd_mem_alloc; - aead_setup.mm_ops.free = (void *)wd_mem_free; - aead_setup.mm_ops.iova_map = (void *)wd_mem_map; - aead_setup.mm_ops.iova_unmap = (void *)wd_mem_unmap; - aead_setup.mm_ops.get_bufsize = (void *)wd_get_bufsize; - - if (pdata->is_union) { - aead_setup.dalg = pdata->dalg; - aead_setup.dmode = pdata->dmode; - } - h_sess = wd_aead_alloc_sess(&aead_setup); - if (!h_sess) - return NULL; - ret = wd_aead_set_ckey(h_sess, (const __u8*)priv_key, pdata->keysize); - if (ret) { - SEC_TST_PRT("test sec cipher set key is failed!\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - if (pdata->is_union) { - ret = wd_aead_set_akey(h_sess, (const __u8*)priv_hash, HASH_ZISE); - if (ret) { - SEC_TST_PRT("test sec aead set akey is failed!\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - } - ret = wd_aead_set_authsize(h_sess, auth_size); - if (ret) { - SEC_TST_PRT("set auth size fail, authsize: 16\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - - areq.op_type = pdata->optype; - areq.iv = priv_iv; // aead IV need update with param - areq.mac = uadk_pool->bds[0].mac; - areq.iv_bytes = pdata->ivsize; - areq.mac_bytes = auth_size; - areq.assoc_bytes = SEC_AEAD_LEN; - areq.in_bytes = g_pktlen; - areq.msg_state = 0; - if (pdata->is_union) - areq.mac_bytes = 32; - if (areq.op_type) // decrypto - areq.out_bytes = g_pktlen + 16; // aadsize = 16; - else - areq.out_bytes = g_pktlen + 32; // aadsize + authsize = 32; - - areq.data_fmt = g_data_fmt; - areq.state = 0; - areq.cb = aead_async_cb; - - while(1) { - if (get_run_state() == 0) - break; - try_cnt = 0; - i = count % MAX_POOL_LENTH; - - if (i == 0 && count > 0) { - count++; - continue; - } - - areq.src = uadk_pool->bds[i].src; - areq.dst = uadk_pool->bds[i].dst; - areq.mac = uadk_pool->bds[i].mac; - - ret = wd_do_aead_async(h_sess, &areq); - if (ret < 0) { - usleep(SEND_USLEEP * try_cnt); - try_cnt++; - if (try_cnt > MAX_TRY_CNT) { - SEC_TST_PRT("Test aead send fail %d times!\n", MAX_TRY_CNT); - try_cnt = 0; - } - continue; - } - count++; - } - - /* Release memory after all tasks are complete. */ - if (count) { - i = 0; - while (get_recv_time() != g_ctxnum) { - if (i++ >= MAX_TRY_CNT) { - SEC_TST_PRT("failed to wait poll thread finish!\n"); - break; - } - - usleep(SEND_USLEEP); - } - } - /* Wait for the device to complete the tasks. */ - usleep(SEND_USLEEP * MAX_TRY_CNT); - - wd_aead_free_sess(h_sess); - - add_send_complete(); - - return NULL; -} - -static void *sec_uadk_digest_async(void *arg) -{ - thread_data *pdata = (thread_data *)arg; - struct wd_digest_sess_setup digest_setup = {0}; - struct sched_params sc_param = {0}; - struct wd_digest_req dreq; - struct bd_pool *uadk_pool; - u8 *priv_iv, *priv_key; - int try_cnt = 0; - handle_t h_sess; - u32 count = 0; - int ret, i; - - if (pdata->td_id > g_thread_num) - return NULL; - - uadk_pool = &g_uadk_pool.pool[pdata->td_id]; - priv_iv = g_uadk_pool.iv[pdata->td_id]; - priv_key = g_uadk_pool.key[pdata->td_id]; - - memset(priv_iv, DEF_IVK_DATA, MAX_IVK_LENTH); - memset(priv_key, DEF_IVK_DATA, MAX_IVK_LENTH); - - digest_setup.alg = pdata->alg; - digest_setup.mode = pdata->mode; // digest mode is optype - digest_setup.mm_type = pdata->mm_type; - sc_param.numa_id = 0; - sc_param.type = 0; - sc_param.mode = 0; // sync mode - if (g_uadk_pool.rsv_pool) - sc_param.dev_id = wd_get_dev_id(g_uadk_pool.rsv_pool); - digest_setup.sched_param = (void *)&sc_param; - - digest_setup.mm_ops.usr = g_uadk_pool.rsv_pool; - digest_setup.mm_ops.alloc = (void *)wd_mem_alloc; - digest_setup.mm_ops.free = (void *)wd_mem_free; - digest_setup.mm_ops.iova_map = (void *)wd_mem_map; - digest_setup.mm_ops.iova_unmap = (void *)wd_mem_unmap; - digest_setup.mm_ops.get_bufsize = (void *)wd_get_bufsize; - - h_sess = wd_digest_alloc_sess(&digest_setup); - if (!h_sess) - return NULL; - if (digest_setup.mode == WD_DIGEST_HMAC) { - ret = wd_digest_set_key(h_sess, (const __u8*)priv_key, 4); - if (ret) { - SEC_TST_PRT("test sec digest set key is failed!\n"); - wd_digest_free_sess(h_sess); - return NULL; - } - } - dreq.in_bytes = g_pktlen; - dreq.out_bytes = pdata->d_outbytes; - dreq.out_buf_bytes = pdata->d_outbytes; - dreq.data_fmt = g_data_fmt; - dreq.state = 0; - dreq.has_next = 0; - dreq.cb = digest_async_cb; - - while(1) { - if (get_run_state() == 0) - break; - try_cnt = 0; - i = count % MAX_POOL_LENTH; - dreq.in = uadk_pool->bds[i].src; - dreq.out = uadk_pool->bds[i].dst; - - ret = wd_do_digest_async(h_sess, &dreq); - if (ret < 0) { - usleep(SEND_USLEEP * try_cnt); - try_cnt++; - if (try_cnt > MAX_TRY_CNT) { - SEC_TST_PRT("Test digest send fail %d times!\n", MAX_TRY_CNT); - try_cnt = 0; - } - continue; - } - count++; - } - - /* Release memory after all tasks are complete. */ - if (count) { - i = 0; - while (get_recv_time() != g_ctxnum) { - if (i++ >= MAX_TRY_CNT) { - SEC_TST_PRT("failed to wait poll thread finish!\n"); - break; - } - - usleep(SEND_USLEEP); - } - } - /* Wait for the device to complete the tasks. */ - usleep(SEND_USLEEP * MAX_TRY_CNT); - - wd_digest_free_sess(h_sess); - - add_send_complete(); - - return NULL; -} - static void *sec_uadk_cipher_sync(void *arg) { thread_data *pdata = (thread_data *)arg; @@ -2175,186 +1597,6 @@ static void *sec_uadk_cipher_sync(void *arg) return NULL; } -static void *sec_uadk_aead_sync(void *arg) -{ - thread_data *pdata = (thread_data *)arg; - struct wd_aead_sess_setup aead_setup = {0}; - struct sched_params sc_param = {0}; - u8 *priv_iv, *priv_key, *priv_hash; - u32 auth_size = SEC_PERF_AUTH_SIZE; - struct wd_aead_req areq = {0}; - struct bd_pool *uadk_pool; - handle_t h_sess; - u32 count = 0; - int ret, i; - - if (pdata->td_id > g_thread_num) - return NULL; - - uadk_pool = &g_uadk_pool.pool[pdata->td_id]; - - priv_iv = g_uadk_pool.iv[pdata->td_id]; - priv_key = g_uadk_pool.key[pdata->td_id]; - priv_hash = g_uadk_pool.hash[pdata->td_id]; - - memset(priv_iv, DEF_IVK_DATA, MAX_IVK_LENTH); - memset(priv_key, DEF_IVK_DATA, MAX_IVK_LENTH); - - aead_setup.calg = pdata->alg; - aead_setup.cmode = pdata->mode; - aead_setup.mm_type = pdata->mm_type; - sc_param.numa_id = 0; - sc_param.type = 0; - sc_param.mode = 0; // sync mode - if (g_uadk_pool.rsv_pool) - sc_param.dev_id = wd_get_dev_id(g_uadk_pool.rsv_pool); - aead_setup.sched_param = (void *)&sc_param; - - aead_setup.mm_ops.usr = g_uadk_pool.rsv_pool; - aead_setup.mm_ops.alloc = (void *)wd_mem_alloc; - aead_setup.mm_ops.free = (void *)wd_mem_free; - aead_setup.mm_ops.iova_map = (void *)wd_mem_map; - aead_setup.mm_ops.iova_unmap = (void *)wd_mem_unmap; - aead_setup.mm_ops.get_bufsize = (void *)wd_get_bufsize; - if (pdata->is_union) { - aead_setup.dalg = pdata->dalg; - aead_setup.dmode = pdata->dmode; - } - h_sess = wd_aead_alloc_sess(&aead_setup); - if (!h_sess) - return NULL; - ret = wd_aead_set_ckey(h_sess, (const __u8*)priv_key, pdata->keysize); - if (ret) { - SEC_TST_PRT("test sec cipher set key is failed!\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - if (pdata->is_union) { - ret = wd_aead_set_akey(h_sess, (const __u8*)priv_hash, HASH_ZISE); - if (ret) { - SEC_TST_PRT("test sec aead set akey is failed!\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - } - ret = wd_aead_set_authsize(h_sess, auth_size); - if (ret) { - SEC_TST_PRT("set auth size fail, authsize: 16\n"); - wd_aead_free_sess(h_sess); - return NULL; - } - - areq.op_type = pdata->optype; - areq.iv = priv_iv; // aead IV need update with param - areq.mac = uadk_pool->bds[0].mac; - areq.iv_bytes = pdata->ivsize; - areq.assoc_bytes = SEC_AEAD_LEN; - areq.in_bytes = g_pktlen; - areq.mac_bytes = g_maclen; - areq.msg_state = 0; - if (areq.op_type) // decrypto - areq.out_bytes = g_pktlen + 16; // aadsize = 16; - else - areq.out_bytes = g_pktlen + 32; // aadsize + authsize = 32; - - areq.data_fmt = g_data_fmt; - areq.state = 0; - - while(1) { - i = count % MAX_POOL_LENTH; - areq.src = uadk_pool->bds[i].src; - areq.dst = uadk_pool->bds[i].dst; - count++; - - ret = wd_do_aead_sync(h_sess, &areq); - if (ret || areq.state) - break; - if (get_run_state() == 0) - break; - } - wd_aead_free_sess(h_sess); - - cal_avg_latency(count); - add_recv_data(count, g_pktlen); - - return NULL; -} - -static void *sec_uadk_digest_sync(void *arg) -{ - thread_data *pdata = (thread_data *)arg; - struct wd_digest_sess_setup digest_setup = {0}; - struct sched_params sc_param = {0}; - struct wd_digest_req dreq; - struct bd_pool *uadk_pool; - u8 *priv_iv, *priv_key; - handle_t h_sess; - u32 count = 0; - int ret, i; - - if (pdata->td_id > g_thread_num) - return NULL; - - uadk_pool = &g_uadk_pool.pool[pdata->td_id]; - priv_iv = g_uadk_pool.iv[pdata->td_id]; - priv_key = g_uadk_pool.key[pdata->td_id]; - - memset(priv_iv, DEF_IVK_DATA, MAX_IVK_LENTH); - memset(priv_key, DEF_IVK_DATA, MAX_IVK_LENTH); - - digest_setup.alg = pdata->alg; - digest_setup.mode = pdata->mode; // digest mode is optype - digest_setup.mm_type = pdata->mm_type; - sc_param.numa_id = 0; - sc_param.type = 0; - sc_param.mode = 0; // sync mode - if (g_uadk_pool.rsv_pool) - sc_param.dev_id = wd_get_dev_id(g_uadk_pool.rsv_pool); - digest_setup.sched_param = (void *)&sc_param; - - digest_setup.mm_ops.usr = g_uadk_pool.rsv_pool; - digest_setup.mm_ops.alloc = (void *)wd_mem_alloc; - digest_setup.mm_ops.free = (void *)wd_mem_free; - digest_setup.mm_ops.iova_map = (void *)wd_mem_map; - digest_setup.mm_ops.iova_unmap = (void *)wd_mem_unmap; - digest_setup.mm_ops.get_bufsize = (void *)wd_get_bufsize; - h_sess = wd_digest_alloc_sess(&digest_setup); - if (!h_sess) - return NULL; - if (digest_setup.mode == WD_DIGEST_HMAC) { - ret = wd_digest_set_key(h_sess, (const __u8*)priv_key, 4); - if (ret) { - SEC_TST_PRT("test sec digest set key is failed!\n"); - wd_digest_free_sess(h_sess); - return NULL; - } - } - dreq.in_bytes = g_pktlen; - dreq.out_bytes = pdata->d_outbytes; - dreq.out_buf_bytes = pdata->d_outbytes; - dreq.data_fmt = g_data_fmt; - dreq.state = 0; - dreq.has_next = 0; - - while(1) { - i = count % MAX_POOL_LENTH; - dreq.in = uadk_pool->bds[i].src; - dreq.out = uadk_pool->bds[i].dst; - ret = wd_do_digest_sync(h_sess, &dreq); - if (ret || dreq.state) - break; - count++; - if (get_run_state() == 0) - break; - } - wd_digest_free_sess(h_sess); - - cal_avg_latency(count); - add_recv_data(count, g_pktlen); - - return NULL; -} - int sec_uadk_sync_threads(struct acc_option *options) { typedef void *(*sec_sync_run)(void *arg); @@ -2374,13 +1616,6 @@ int sec_uadk_sync_threads(struct acc_option *options) case CIPHER_INSTR_TYPE: uadk_sec_sync_run = sec_uadk_cipher_sync; break; - case AEAD_TYPE: - uadk_sec_sync_run = sec_uadk_aead_sync; - break; - case DIGEST_TYPE: - case DIGEST_INSTR_TYPE: - uadk_sec_sync_run = sec_uadk_digest_sync; - break; default: SEC_TST_PRT("Invalid subtype!\n"); return -EINVAL; @@ -2438,13 +1673,6 @@ int sec_uadk_async_threads(struct acc_option *options) case CIPHER_INSTR_TYPE: uadk_sec_async_run = sec_uadk_cipher_async; break; - case AEAD_TYPE: - uadk_sec_async_run = sec_uadk_aead_async; - break; - case DIGEST_TYPE: - case DIGEST_INSTR_TYPE: - uadk_sec_async_run = sec_uadk_digest_async; - break; } for (i = 0; i < g_ctxnum; i++) { @@ -2516,14 +1744,6 @@ int sec_uadk_benchmark(struct acc_option *options) g_algtype = options->algtype; g_data_fmt = options->data_fmt; - if (g_alg == AEAD_TYPE) { - g_maclen = get_aead_mac_len(g_algtype); - if (g_maclen < 0) { - SEC_TST_PRT("SEC algtype error: %u\n", g_algtype); - return -EINVAL; - } - } - if (options->optype > WD_CIPHER_DECRYPTION) { SEC_TST_PRT("SEC optype error: %u\n", options->optype); return -EINVAL; diff --git a/uadk_tool/benchmark/uadk_benchmark.c b/uadk_tool/benchmark/uadk_benchmark.c index 5deec63..8f06f2d 100644 --- a/uadk_tool/benchmark/uadk_benchmark.c +++ b/uadk_tool/benchmark/uadk_benchmark.c @@ -7,14 +7,6 @@ #include "uadk_benchmark.h" #include "sec_uadk_benchmark.h" -#include "sec_wd_benchmark.h" -#include "sec_soft_benchmark.h" - -#include "hpre_uadk_benchmark.h" -#include "hpre_wd_benchmark.h" - -#include "zip_uadk_benchmark.h" -#include "zip_wd_benchmark.h" #define TABLE_SPACE_SIZE 8 @@ -565,28 +557,6 @@ static int benchmark_run(struct acc_option *option) (option->modetype == INSTR_MODE) || (option->modetype == MULTIBUF_MODE)) { ret = sec_uadk_benchmark(option); - } else if (option->modetype == NOSVA_MODE) { - ret = sec_wd_benchmark(option); - } - usleep(20000); -#ifdef HAVE_CRYPTO - if (option->modetype == SOFT_MODE) { - ret = sec_soft_benchmark(option); - } -#endif - break; - case HPRE_TYPE: - if (option->modetype == SVA_MODE) { - ret = hpre_uadk_benchmark(option); - } else if (option->modetype == NOSVA_MODE) { - ret = hpre_wd_benchmark(option); - } - break; - case ZIP_TYPE: - if (option->modetype == SVA_MODE) { - ret = zip_uadk_benchmark(option); - } else if (option->modetype == NOSVA_MODE) { - ret = zip_wd_benchmark(option); } break; } diff --git a/uadk_tool/uadk_tool.c b/uadk_tool/uadk_tool.c index 64d4163..d545de4 100644 --- a/uadk_tool/uadk_tool.c +++ b/uadk_tool/uadk_tool.c @@ -21,12 +21,7 @@ int main(int argc, char **argv) int ret; if (argc > index) { - if (!strcmp("dfx", argv[index])) { - if (!argv[++index]) - print_dfx_help(); - - dfx_cmd_parse(argc, argv); - } else if (!strcmp("benchmark", argv[index])) { + if (!strcmp("benchmark", argv[index])) { printf("start UADK benchmark test.\n"); if (!argv[++index]) { print_benchmark_help(); @@ -41,12 +36,6 @@ int main(int argc, char **argv) if (ret) return ret; (void)acc_benchmark_run(&option); - } else if (!strcmp("test", argv[index])) { - if (!argv[++index]) - print_test_help(); - - printf("start UADK acc algorithm test.\n"); - acc_test_run(argc, argv); } else { print_tool_help(); } -- 2.43.0