From 3e5fb836012fded133ead1c6c4bbed15396e3b1e Mon Sep 17 00:00:00 2001
From: Kai Ye <yekai13@huawei.com>
Date: Thu, 23 Dec 2021 09:45:34 +0800
Subject: [PATCH 09/28] uadk_benchmark: use the uadk_tool instead of
 uadk_benchmark

The uadk_tool include the benchmark and dfx function. The benchmark
supports performance test, and the dfx provides some maintenance
capabilities. Like library version and build time. Developers can
also add other features.

Signed-off-by: Kai Ye <yekai13@huawei.com>
---
 Makefile.am                                   |   2 +-
 cleanup.sh                                    |   4 +-
 configure.ac                                  |   2 +-
 {uadk_benchmark => uadk_tool}/Makefile.am     |  14 +--
 .../include/libcrypto.a                       | Bin
 .../include/libcrypto.so.1.1                  | Bin
 .../include/openssl/aes.h                     |   0
 .../include/openssl/asn1.h                    |   0
 .../include/openssl/asn1_mac.h                |   0
 .../include/openssl/asn1err.h                 |   0
 .../include/openssl/asn1t.h                   |   0
 .../include/openssl/async.h                   |   0
 .../include/openssl/asyncerr.h                |   0
 .../include/openssl/bio.h                     |   0
 .../include/openssl/bioerr.h                  |   0
 .../include/openssl/blowfish.h                |   0
 .../include/openssl/bn.h                      |   0
 .../include/openssl/bnerr.h                   |   0
 .../include/openssl/buffer.h                  |   0
 .../include/openssl/buffererr.h               |   0
 .../include/openssl/camellia.h                |   0
 .../include/openssl/cast.h                    |   0
 .../include/openssl/cmac.h                    |   0
 .../include/openssl/cms.h                     |   0
 .../include/openssl/cmserr.h                  |   0
 .../include/openssl/comp.h                    |   0
 .../include/openssl/comperr.h                 |   0
 .../include/openssl/conf.h                    |   0
 .../include/openssl/conf_api.h                |   0
 .../include/openssl/conferr.h                 |   0
 .../include/openssl/crypto.h                  |   0
 .../include/openssl/cryptoerr.h               |   0
 .../include/openssl/ct.h                      |   0
 .../include/openssl/cterr.h                   |   0
 .../include/openssl/des.h                     |   0
 .../include/openssl/dh.h                      |   0
 .../include/openssl/dherr.h                   |   0
 .../include/openssl/dsa.h                     |   0
 .../include/openssl/dsaerr.h                  |   0
 .../include/openssl/dtls1.h                   |   0
 .../include/openssl/e_os2.h                   |   0
 .../include/openssl/ebcdic.h                  |   0
 .../include/openssl/ec.h                      |   0
 .../include/openssl/ecdh.h                    |   0
 .../include/openssl/ecdsa.h                   |   0
 .../include/openssl/ecerr.h                   |   0
 .../include/openssl/engine.h                  |   0
 .../include/openssl/engineerr.h               |   0
 .../include/openssl/err.h                     |   0
 .../include/openssl/evp.h                     |   0
 .../include/openssl/evperr.h                  |   0
 .../include/openssl/hmac.h                    |   0
 .../include/openssl/idea.h                    |   0
 .../include/openssl/kdf.h                     |   0
 .../include/openssl/kdferr.h                  |   0
 .../include/openssl/lhash.h                   |   0
 .../include/openssl/md2.h                     |   0
 .../include/openssl/md4.h                     |   0
 .../include/openssl/md5.h                     |   0
 .../include/openssl/mdc2.h                    |   0
 .../include/openssl/modes.h                   |   0
 .../include/openssl/obj_mac.h                 |   0
 .../include/openssl/objects.h                 |   0
 .../include/openssl/objectserr.h              |   0
 .../include/openssl/ocsp.h                    |   0
 .../include/openssl/ocsperr.h                 |   0
 .../include/openssl/opensslconf.h             |   0
 .../include/openssl/opensslv.h                |   0
 .../include/openssl/ossl_typ.h                |   0
 .../include/openssl/pem.h                     |   0
 .../include/openssl/pem2.h                    |   0
 .../include/openssl/pemerr.h                  |   0
 .../include/openssl/pkcs12.h                  |   0
 .../include/openssl/pkcs12err.h               |   0
 .../include/openssl/pkcs7.h                   |   0
 .../include/openssl/pkcs7err.h                |   0
 .../include/openssl/rand.h                    |   0
 .../include/openssl/rand_drbg.h               |   0
 .../include/openssl/randerr.h                 |   0
 .../include/openssl/rc2.h                     |   0
 .../include/openssl/rc4.h                     |   0
 .../include/openssl/rc5.h                     |   0
 .../include/openssl/ripemd.h                  |   0
 .../include/openssl/rsa.h                     |   0
 .../include/openssl/rsaerr.h                  |   0
 .../include/openssl/safestack.h               |   0
 .../include/openssl/seed.h                    |   0
 .../include/openssl/sha.h                     |   0
 .../include/openssl/srp.h                     |   0
 .../include/openssl/srtp.h                    |   0
 .../include/openssl/ssl.h                     |   0
 .../include/openssl/ssl2.h                    |   0
 .../include/openssl/ssl3.h                    |   0
 .../include/openssl/sslerr.h                  |   0
 .../include/openssl/stack.h                   |   0
 .../include/openssl/store.h                   |   0
 .../include/openssl/storeerr.h                |   0
 .../include/openssl/symhacks.h                |   0
 .../include/openssl/tls1.h                    |   0
 .../include/openssl/ts.h                      |   0
 .../include/openssl/tserr.h                   |   0
 .../include/openssl/txt_db.h                  |   0
 .../include/openssl/ui.h                      |   0
 .../include/openssl/uierr.h                   |   0
 .../include/openssl/whrlpool.h                |   0
 .../include/openssl/x509.h                    |   0
 .../include/openssl/x509_vfy.h                |   0
 .../include/openssl/x509err.h                 |   0
 .../include/openssl/x509v3.h                  |   0
 .../include/openssl/x509v3err.h               |   0
 .../sec_soft_benchmark.c                      |   0
 .../sec_soft_benchmark.h                      |   0
 .../sec_uadk_benchmark.c                      |   0
 .../sec_uadk_benchmark.h                      |   0
 .../sec_wd_benchmark.c                        |   0
 .../sec_wd_benchmark.h                        |   0
 .../uadk_benchmark.c                          |  86 +++++++-----------
 .../uadk_benchmark.h                          |   5 +
 uadk_tool/uadk_dfx.c                          |  79 ++++++++++++++++
 uadk_tool/uadk_dfx.h                          |  10 ++
 uadk_tool/uadk_tool.c                         |  44 +++++++++
 121 files changed, 183 insertions(+), 63 deletions(-)
 mode change 100755 => 100644 cleanup.sh
 rename {uadk_benchmark => uadk_tool}/Makefile.am (54%)
 rename {uadk_benchmark => uadk_tool}/include/libcrypto.a (100%)
 rename {uadk_benchmark => uadk_tool}/include/libcrypto.so.1.1 (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/aes.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/asn1.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/asn1_mac.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/asn1err.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/asn1t.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/async.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/asyncerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/bio.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/bioerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/blowfish.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/bn.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/bnerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/buffer.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/buffererr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/camellia.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cast.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cmac.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cms.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cmserr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/comp.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/comperr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/conf.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/conf_api.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/conferr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/crypto.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cryptoerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ct.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/cterr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/des.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/dh.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/dherr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/dsa.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/dsaerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/dtls1.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/e_os2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ebcdic.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ec.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ecdh.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ecdsa.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ecerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/engine.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/engineerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/err.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/evp.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/evperr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/hmac.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/idea.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/kdf.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/kdferr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/lhash.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/md2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/md4.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/md5.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/mdc2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/modes.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/obj_mac.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/objects.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/objectserr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ocsp.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ocsperr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/opensslconf.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/opensslv.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ossl_typ.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pem.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pem2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pemerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pkcs12.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pkcs12err.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pkcs7.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/pkcs7err.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rand.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rand_drbg.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/randerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rc2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rc4.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rc5.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ripemd.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rsa.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/rsaerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/safestack.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/seed.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/sha.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/srp.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/srtp.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ssl.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ssl2.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ssl3.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/sslerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/stack.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/store.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/storeerr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/symhacks.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/tls1.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ts.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/tserr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/txt_db.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/ui.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/uierr.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/whrlpool.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/x509.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/x509_vfy.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/x509err.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/x509v3.h (100%)
 rename {uadk_benchmark => uadk_tool}/include/openssl/x509v3err.h (100%)
 rename {uadk_benchmark => uadk_tool}/sec_soft_benchmark.c (100%)
 rename {uadk_benchmark => uadk_tool}/sec_soft_benchmark.h (100%)
 rename {uadk_benchmark => uadk_tool}/sec_uadk_benchmark.c (100%)
 rename {uadk_benchmark => uadk_tool}/sec_uadk_benchmark.h (100%)
 rename {uadk_benchmark => uadk_tool}/sec_wd_benchmark.c (100%)
 rename {uadk_benchmark => uadk_tool}/sec_wd_benchmark.h (100%)
 rename {uadk_benchmark => uadk_tool}/uadk_benchmark.c (91%)
 rename {uadk_benchmark => uadk_tool}/uadk_benchmark.h (93%)
 create mode 100644 uadk_tool/uadk_dfx.c
 create mode 100644 uadk_tool/uadk_dfx.h
 create mode 100644 uadk_tool/uadk_tool.c

diff --git a/Makefile.am b/Makefile.am
index f4f80fa..cd25bce 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -119,4 +119,4 @@ libhisi_hpre_la_DEPENDENCIES= libwd.la libwd_crypto.la
 endif	# WD_STATIC_DRV
 
 
-SUBDIRS=. test v1/test uadk_benchmark sample
+SUBDIRS=. test v1/test uadk_tool sample
diff --git a/cleanup.sh b/cleanup.sh
old mode 100755
new mode 100644
index d11d498..60adc98
--- a/cleanup.sh
+++ b/cleanup.sh
@@ -11,8 +11,8 @@ FILES="aclocal.m4 autom4te.cache compile config.guess config.h.in config.log \
        test/Makefile test/Makefile.in test/hisi_hpre_test/Makefile.in	     \
        test/hisi_hpre_test/Makefile test/hisi_sec_test/Makefile              \
        test/hisi_sec_test/Makefile.in test/hisi_zip_test/Makefile            \
-       test/hisi_zip_test/Makefile.in uadk_benchmark/Makefile		     \
-       uadk_benchmark/Makefile.in         \
+       test/hisi_zip_test/Makefile.in uadk_tool/Makefile            \
+       uadk_tool/Makefile.in         \
        v1/Makefile.in v1/Makefile.in v1/test/Makefile v1/test/Makefile.in    \
        v1/test/test_mm/Makefile v1/test/test_mm/Makefile.in		     \
        v1/test/bmm_test/Makefile v1/test/bmm_test/Makefile.in"
diff --git a/configure.ac b/configure.ac
index aa524f5..b509393 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,7 +87,7 @@ AC_CONFIG_FILES([Makefile
 		 test/hisi_hpre_test/Makefile
 		 test/hisi_sec_test/Makefile
 		 test/hisi_zip_test/Makefile
-		 uadk_benchmark/Makefile
+		 uadk_tool/Makefile
 		 sample/Makefile
 		 v1/test/Makefile
 		 v1/test/bmm_test/Makefile
diff --git a/uadk_benchmark/Makefile.am b/uadk_tool/Makefile.am
similarity index 54%
rename from uadk_benchmark/Makefile.am
rename to uadk_tool/Makefile.am
index 5fd16a9..36536a2 100644
--- a/uadk_benchmark/Makefile.am
+++ b/uadk_tool/Makefile.am
@@ -1,24 +1,24 @@
 ACLOCAL_AMFLAGS = -I m4 -I./include
 AM_CFLAGS=-Wall -fno-strict-aliasing -I$(top_srcdir) -I$(top_srcdir)/include \
-			-I$(top_srcdir)/uadk_benchmark/include -pthread
+			-I$(top_srcdir)/uadk_tool/include -pthread
 
 #AUTOMAKE_OPTIONS = subdir-objects
 
-bin_PROGRAMS=uadk_benchmark
+bin_PROGRAMS=uadk_tool
 
-uadk_benchmark_SOURCES=uadk_benchmark.c \
+uadk_tool_SOURCES=uadk_tool.c uadk_dfx.c uadk_benchmark.c \
 			sec_uadk_benchmark.c sec_wd_benchmark.c sec_soft_benchmark.c
 
 if WD_STATIC_DRV
 AM_CFLAGS+=-Bstatic
-uadk_benchmark_LDADD=$(libwd_la_OBJECTS) \
+uadk_tool_LDADD=$(libwd_la_OBJECTS) \
 			$(libwd_crypto_la_OBJECTS) \
 			../.libs/libhisi_sec.a \
 			../.libs/libhisi_hpre.a \
 			../.libs/libhisi_zip.a \
 			include/libcrypto.a -ldl -lnuma
 else
-uadk_benchmark_LDADD=-L../.libs -l:libwd.so.2 -l:libwd_crypto.so.2 \
-			-L$(top_srcdir)/uadk_benchmark/include -l:libcrypto.so.1.1 -lnuma
+uadk_tool_LDADD=-L../.libs -l:libwd.so.2 -l:libwd_crypto.so.2 \
+			-L$(top_srcdir)/uadk_tool/include -l:libcrypto.so.1.1 -lnuma
 endif
-uadk_benchmark_LDFLAGS=-Wl,-rpath,'/usr/local/lib'
+uadk_tool_LDFLAGS=-Wl,-rpath,'/usr/local/lib'
diff --git a/uadk_benchmark/include/libcrypto.a b/uadk_tool/include/libcrypto.a
similarity index 100%
rename from uadk_benchmark/include/libcrypto.a
rename to uadk_tool/include/libcrypto.a
diff --git a/uadk_benchmark/include/libcrypto.so.1.1 b/uadk_tool/include/libcrypto.so.1.1
similarity index 100%
rename from uadk_benchmark/include/libcrypto.so.1.1
rename to uadk_tool/include/libcrypto.so.1.1
diff --git a/uadk_benchmark/include/openssl/aes.h b/uadk_tool/include/openssl/aes.h
similarity index 100%
rename from uadk_benchmark/include/openssl/aes.h
rename to uadk_tool/include/openssl/aes.h
diff --git a/uadk_benchmark/include/openssl/asn1.h b/uadk_tool/include/openssl/asn1.h
similarity index 100%
rename from uadk_benchmark/include/openssl/asn1.h
rename to uadk_tool/include/openssl/asn1.h
diff --git a/uadk_benchmark/include/openssl/asn1_mac.h b/uadk_tool/include/openssl/asn1_mac.h
similarity index 100%
rename from uadk_benchmark/include/openssl/asn1_mac.h
rename to uadk_tool/include/openssl/asn1_mac.h
diff --git a/uadk_benchmark/include/openssl/asn1err.h b/uadk_tool/include/openssl/asn1err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/asn1err.h
rename to uadk_tool/include/openssl/asn1err.h
diff --git a/uadk_benchmark/include/openssl/asn1t.h b/uadk_tool/include/openssl/asn1t.h
similarity index 100%
rename from uadk_benchmark/include/openssl/asn1t.h
rename to uadk_tool/include/openssl/asn1t.h
diff --git a/uadk_benchmark/include/openssl/async.h b/uadk_tool/include/openssl/async.h
similarity index 100%
rename from uadk_benchmark/include/openssl/async.h
rename to uadk_tool/include/openssl/async.h
diff --git a/uadk_benchmark/include/openssl/asyncerr.h b/uadk_tool/include/openssl/asyncerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/asyncerr.h
rename to uadk_tool/include/openssl/asyncerr.h
diff --git a/uadk_benchmark/include/openssl/bio.h b/uadk_tool/include/openssl/bio.h
similarity index 100%
rename from uadk_benchmark/include/openssl/bio.h
rename to uadk_tool/include/openssl/bio.h
diff --git a/uadk_benchmark/include/openssl/bioerr.h b/uadk_tool/include/openssl/bioerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/bioerr.h
rename to uadk_tool/include/openssl/bioerr.h
diff --git a/uadk_benchmark/include/openssl/blowfish.h b/uadk_tool/include/openssl/blowfish.h
similarity index 100%
rename from uadk_benchmark/include/openssl/blowfish.h
rename to uadk_tool/include/openssl/blowfish.h
diff --git a/uadk_benchmark/include/openssl/bn.h b/uadk_tool/include/openssl/bn.h
similarity index 100%
rename from uadk_benchmark/include/openssl/bn.h
rename to uadk_tool/include/openssl/bn.h
diff --git a/uadk_benchmark/include/openssl/bnerr.h b/uadk_tool/include/openssl/bnerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/bnerr.h
rename to uadk_tool/include/openssl/bnerr.h
diff --git a/uadk_benchmark/include/openssl/buffer.h b/uadk_tool/include/openssl/buffer.h
similarity index 100%
rename from uadk_benchmark/include/openssl/buffer.h
rename to uadk_tool/include/openssl/buffer.h
diff --git a/uadk_benchmark/include/openssl/buffererr.h b/uadk_tool/include/openssl/buffererr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/buffererr.h
rename to uadk_tool/include/openssl/buffererr.h
diff --git a/uadk_benchmark/include/openssl/camellia.h b/uadk_tool/include/openssl/camellia.h
similarity index 100%
rename from uadk_benchmark/include/openssl/camellia.h
rename to uadk_tool/include/openssl/camellia.h
diff --git a/uadk_benchmark/include/openssl/cast.h b/uadk_tool/include/openssl/cast.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cast.h
rename to uadk_tool/include/openssl/cast.h
diff --git a/uadk_benchmark/include/openssl/cmac.h b/uadk_tool/include/openssl/cmac.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cmac.h
rename to uadk_tool/include/openssl/cmac.h
diff --git a/uadk_benchmark/include/openssl/cms.h b/uadk_tool/include/openssl/cms.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cms.h
rename to uadk_tool/include/openssl/cms.h
diff --git a/uadk_benchmark/include/openssl/cmserr.h b/uadk_tool/include/openssl/cmserr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cmserr.h
rename to uadk_tool/include/openssl/cmserr.h
diff --git a/uadk_benchmark/include/openssl/comp.h b/uadk_tool/include/openssl/comp.h
similarity index 100%
rename from uadk_benchmark/include/openssl/comp.h
rename to uadk_tool/include/openssl/comp.h
diff --git a/uadk_benchmark/include/openssl/comperr.h b/uadk_tool/include/openssl/comperr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/comperr.h
rename to uadk_tool/include/openssl/comperr.h
diff --git a/uadk_benchmark/include/openssl/conf.h b/uadk_tool/include/openssl/conf.h
similarity index 100%
rename from uadk_benchmark/include/openssl/conf.h
rename to uadk_tool/include/openssl/conf.h
diff --git a/uadk_benchmark/include/openssl/conf_api.h b/uadk_tool/include/openssl/conf_api.h
similarity index 100%
rename from uadk_benchmark/include/openssl/conf_api.h
rename to uadk_tool/include/openssl/conf_api.h
diff --git a/uadk_benchmark/include/openssl/conferr.h b/uadk_tool/include/openssl/conferr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/conferr.h
rename to uadk_tool/include/openssl/conferr.h
diff --git a/uadk_benchmark/include/openssl/crypto.h b/uadk_tool/include/openssl/crypto.h
similarity index 100%
rename from uadk_benchmark/include/openssl/crypto.h
rename to uadk_tool/include/openssl/crypto.h
diff --git a/uadk_benchmark/include/openssl/cryptoerr.h b/uadk_tool/include/openssl/cryptoerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cryptoerr.h
rename to uadk_tool/include/openssl/cryptoerr.h
diff --git a/uadk_benchmark/include/openssl/ct.h b/uadk_tool/include/openssl/ct.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ct.h
rename to uadk_tool/include/openssl/ct.h
diff --git a/uadk_benchmark/include/openssl/cterr.h b/uadk_tool/include/openssl/cterr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/cterr.h
rename to uadk_tool/include/openssl/cterr.h
diff --git a/uadk_benchmark/include/openssl/des.h b/uadk_tool/include/openssl/des.h
similarity index 100%
rename from uadk_benchmark/include/openssl/des.h
rename to uadk_tool/include/openssl/des.h
diff --git a/uadk_benchmark/include/openssl/dh.h b/uadk_tool/include/openssl/dh.h
similarity index 100%
rename from uadk_benchmark/include/openssl/dh.h
rename to uadk_tool/include/openssl/dh.h
diff --git a/uadk_benchmark/include/openssl/dherr.h b/uadk_tool/include/openssl/dherr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/dherr.h
rename to uadk_tool/include/openssl/dherr.h
diff --git a/uadk_benchmark/include/openssl/dsa.h b/uadk_tool/include/openssl/dsa.h
similarity index 100%
rename from uadk_benchmark/include/openssl/dsa.h
rename to uadk_tool/include/openssl/dsa.h
diff --git a/uadk_benchmark/include/openssl/dsaerr.h b/uadk_tool/include/openssl/dsaerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/dsaerr.h
rename to uadk_tool/include/openssl/dsaerr.h
diff --git a/uadk_benchmark/include/openssl/dtls1.h b/uadk_tool/include/openssl/dtls1.h
similarity index 100%
rename from uadk_benchmark/include/openssl/dtls1.h
rename to uadk_tool/include/openssl/dtls1.h
diff --git a/uadk_benchmark/include/openssl/e_os2.h b/uadk_tool/include/openssl/e_os2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/e_os2.h
rename to uadk_tool/include/openssl/e_os2.h
diff --git a/uadk_benchmark/include/openssl/ebcdic.h b/uadk_tool/include/openssl/ebcdic.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ebcdic.h
rename to uadk_tool/include/openssl/ebcdic.h
diff --git a/uadk_benchmark/include/openssl/ec.h b/uadk_tool/include/openssl/ec.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ec.h
rename to uadk_tool/include/openssl/ec.h
diff --git a/uadk_benchmark/include/openssl/ecdh.h b/uadk_tool/include/openssl/ecdh.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ecdh.h
rename to uadk_tool/include/openssl/ecdh.h
diff --git a/uadk_benchmark/include/openssl/ecdsa.h b/uadk_tool/include/openssl/ecdsa.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ecdsa.h
rename to uadk_tool/include/openssl/ecdsa.h
diff --git a/uadk_benchmark/include/openssl/ecerr.h b/uadk_tool/include/openssl/ecerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ecerr.h
rename to uadk_tool/include/openssl/ecerr.h
diff --git a/uadk_benchmark/include/openssl/engine.h b/uadk_tool/include/openssl/engine.h
similarity index 100%
rename from uadk_benchmark/include/openssl/engine.h
rename to uadk_tool/include/openssl/engine.h
diff --git a/uadk_benchmark/include/openssl/engineerr.h b/uadk_tool/include/openssl/engineerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/engineerr.h
rename to uadk_tool/include/openssl/engineerr.h
diff --git a/uadk_benchmark/include/openssl/err.h b/uadk_tool/include/openssl/err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/err.h
rename to uadk_tool/include/openssl/err.h
diff --git a/uadk_benchmark/include/openssl/evp.h b/uadk_tool/include/openssl/evp.h
similarity index 100%
rename from uadk_benchmark/include/openssl/evp.h
rename to uadk_tool/include/openssl/evp.h
diff --git a/uadk_benchmark/include/openssl/evperr.h b/uadk_tool/include/openssl/evperr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/evperr.h
rename to uadk_tool/include/openssl/evperr.h
diff --git a/uadk_benchmark/include/openssl/hmac.h b/uadk_tool/include/openssl/hmac.h
similarity index 100%
rename from uadk_benchmark/include/openssl/hmac.h
rename to uadk_tool/include/openssl/hmac.h
diff --git a/uadk_benchmark/include/openssl/idea.h b/uadk_tool/include/openssl/idea.h
similarity index 100%
rename from uadk_benchmark/include/openssl/idea.h
rename to uadk_tool/include/openssl/idea.h
diff --git a/uadk_benchmark/include/openssl/kdf.h b/uadk_tool/include/openssl/kdf.h
similarity index 100%
rename from uadk_benchmark/include/openssl/kdf.h
rename to uadk_tool/include/openssl/kdf.h
diff --git a/uadk_benchmark/include/openssl/kdferr.h b/uadk_tool/include/openssl/kdferr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/kdferr.h
rename to uadk_tool/include/openssl/kdferr.h
diff --git a/uadk_benchmark/include/openssl/lhash.h b/uadk_tool/include/openssl/lhash.h
similarity index 100%
rename from uadk_benchmark/include/openssl/lhash.h
rename to uadk_tool/include/openssl/lhash.h
diff --git a/uadk_benchmark/include/openssl/md2.h b/uadk_tool/include/openssl/md2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/md2.h
rename to uadk_tool/include/openssl/md2.h
diff --git a/uadk_benchmark/include/openssl/md4.h b/uadk_tool/include/openssl/md4.h
similarity index 100%
rename from uadk_benchmark/include/openssl/md4.h
rename to uadk_tool/include/openssl/md4.h
diff --git a/uadk_benchmark/include/openssl/md5.h b/uadk_tool/include/openssl/md5.h
similarity index 100%
rename from uadk_benchmark/include/openssl/md5.h
rename to uadk_tool/include/openssl/md5.h
diff --git a/uadk_benchmark/include/openssl/mdc2.h b/uadk_tool/include/openssl/mdc2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/mdc2.h
rename to uadk_tool/include/openssl/mdc2.h
diff --git a/uadk_benchmark/include/openssl/modes.h b/uadk_tool/include/openssl/modes.h
similarity index 100%
rename from uadk_benchmark/include/openssl/modes.h
rename to uadk_tool/include/openssl/modes.h
diff --git a/uadk_benchmark/include/openssl/obj_mac.h b/uadk_tool/include/openssl/obj_mac.h
similarity index 100%
rename from uadk_benchmark/include/openssl/obj_mac.h
rename to uadk_tool/include/openssl/obj_mac.h
diff --git a/uadk_benchmark/include/openssl/objects.h b/uadk_tool/include/openssl/objects.h
similarity index 100%
rename from uadk_benchmark/include/openssl/objects.h
rename to uadk_tool/include/openssl/objects.h
diff --git a/uadk_benchmark/include/openssl/objectserr.h b/uadk_tool/include/openssl/objectserr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/objectserr.h
rename to uadk_tool/include/openssl/objectserr.h
diff --git a/uadk_benchmark/include/openssl/ocsp.h b/uadk_tool/include/openssl/ocsp.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ocsp.h
rename to uadk_tool/include/openssl/ocsp.h
diff --git a/uadk_benchmark/include/openssl/ocsperr.h b/uadk_tool/include/openssl/ocsperr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ocsperr.h
rename to uadk_tool/include/openssl/ocsperr.h
diff --git a/uadk_benchmark/include/openssl/opensslconf.h b/uadk_tool/include/openssl/opensslconf.h
similarity index 100%
rename from uadk_benchmark/include/openssl/opensslconf.h
rename to uadk_tool/include/openssl/opensslconf.h
diff --git a/uadk_benchmark/include/openssl/opensslv.h b/uadk_tool/include/openssl/opensslv.h
similarity index 100%
rename from uadk_benchmark/include/openssl/opensslv.h
rename to uadk_tool/include/openssl/opensslv.h
diff --git a/uadk_benchmark/include/openssl/ossl_typ.h b/uadk_tool/include/openssl/ossl_typ.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ossl_typ.h
rename to uadk_tool/include/openssl/ossl_typ.h
diff --git a/uadk_benchmark/include/openssl/pem.h b/uadk_tool/include/openssl/pem.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pem.h
rename to uadk_tool/include/openssl/pem.h
diff --git a/uadk_benchmark/include/openssl/pem2.h b/uadk_tool/include/openssl/pem2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pem2.h
rename to uadk_tool/include/openssl/pem2.h
diff --git a/uadk_benchmark/include/openssl/pemerr.h b/uadk_tool/include/openssl/pemerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pemerr.h
rename to uadk_tool/include/openssl/pemerr.h
diff --git a/uadk_benchmark/include/openssl/pkcs12.h b/uadk_tool/include/openssl/pkcs12.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pkcs12.h
rename to uadk_tool/include/openssl/pkcs12.h
diff --git a/uadk_benchmark/include/openssl/pkcs12err.h b/uadk_tool/include/openssl/pkcs12err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pkcs12err.h
rename to uadk_tool/include/openssl/pkcs12err.h
diff --git a/uadk_benchmark/include/openssl/pkcs7.h b/uadk_tool/include/openssl/pkcs7.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pkcs7.h
rename to uadk_tool/include/openssl/pkcs7.h
diff --git a/uadk_benchmark/include/openssl/pkcs7err.h b/uadk_tool/include/openssl/pkcs7err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/pkcs7err.h
rename to uadk_tool/include/openssl/pkcs7err.h
diff --git a/uadk_benchmark/include/openssl/rand.h b/uadk_tool/include/openssl/rand.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rand.h
rename to uadk_tool/include/openssl/rand.h
diff --git a/uadk_benchmark/include/openssl/rand_drbg.h b/uadk_tool/include/openssl/rand_drbg.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rand_drbg.h
rename to uadk_tool/include/openssl/rand_drbg.h
diff --git a/uadk_benchmark/include/openssl/randerr.h b/uadk_tool/include/openssl/randerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/randerr.h
rename to uadk_tool/include/openssl/randerr.h
diff --git a/uadk_benchmark/include/openssl/rc2.h b/uadk_tool/include/openssl/rc2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rc2.h
rename to uadk_tool/include/openssl/rc2.h
diff --git a/uadk_benchmark/include/openssl/rc4.h b/uadk_tool/include/openssl/rc4.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rc4.h
rename to uadk_tool/include/openssl/rc4.h
diff --git a/uadk_benchmark/include/openssl/rc5.h b/uadk_tool/include/openssl/rc5.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rc5.h
rename to uadk_tool/include/openssl/rc5.h
diff --git a/uadk_benchmark/include/openssl/ripemd.h b/uadk_tool/include/openssl/ripemd.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ripemd.h
rename to uadk_tool/include/openssl/ripemd.h
diff --git a/uadk_benchmark/include/openssl/rsa.h b/uadk_tool/include/openssl/rsa.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rsa.h
rename to uadk_tool/include/openssl/rsa.h
diff --git a/uadk_benchmark/include/openssl/rsaerr.h b/uadk_tool/include/openssl/rsaerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/rsaerr.h
rename to uadk_tool/include/openssl/rsaerr.h
diff --git a/uadk_benchmark/include/openssl/safestack.h b/uadk_tool/include/openssl/safestack.h
similarity index 100%
rename from uadk_benchmark/include/openssl/safestack.h
rename to uadk_tool/include/openssl/safestack.h
diff --git a/uadk_benchmark/include/openssl/seed.h b/uadk_tool/include/openssl/seed.h
similarity index 100%
rename from uadk_benchmark/include/openssl/seed.h
rename to uadk_tool/include/openssl/seed.h
diff --git a/uadk_benchmark/include/openssl/sha.h b/uadk_tool/include/openssl/sha.h
similarity index 100%
rename from uadk_benchmark/include/openssl/sha.h
rename to uadk_tool/include/openssl/sha.h
diff --git a/uadk_benchmark/include/openssl/srp.h b/uadk_tool/include/openssl/srp.h
similarity index 100%
rename from uadk_benchmark/include/openssl/srp.h
rename to uadk_tool/include/openssl/srp.h
diff --git a/uadk_benchmark/include/openssl/srtp.h b/uadk_tool/include/openssl/srtp.h
similarity index 100%
rename from uadk_benchmark/include/openssl/srtp.h
rename to uadk_tool/include/openssl/srtp.h
diff --git a/uadk_benchmark/include/openssl/ssl.h b/uadk_tool/include/openssl/ssl.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ssl.h
rename to uadk_tool/include/openssl/ssl.h
diff --git a/uadk_benchmark/include/openssl/ssl2.h b/uadk_tool/include/openssl/ssl2.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ssl2.h
rename to uadk_tool/include/openssl/ssl2.h
diff --git a/uadk_benchmark/include/openssl/ssl3.h b/uadk_tool/include/openssl/ssl3.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ssl3.h
rename to uadk_tool/include/openssl/ssl3.h
diff --git a/uadk_benchmark/include/openssl/sslerr.h b/uadk_tool/include/openssl/sslerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/sslerr.h
rename to uadk_tool/include/openssl/sslerr.h
diff --git a/uadk_benchmark/include/openssl/stack.h b/uadk_tool/include/openssl/stack.h
similarity index 100%
rename from uadk_benchmark/include/openssl/stack.h
rename to uadk_tool/include/openssl/stack.h
diff --git a/uadk_benchmark/include/openssl/store.h b/uadk_tool/include/openssl/store.h
similarity index 100%
rename from uadk_benchmark/include/openssl/store.h
rename to uadk_tool/include/openssl/store.h
diff --git a/uadk_benchmark/include/openssl/storeerr.h b/uadk_tool/include/openssl/storeerr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/storeerr.h
rename to uadk_tool/include/openssl/storeerr.h
diff --git a/uadk_benchmark/include/openssl/symhacks.h b/uadk_tool/include/openssl/symhacks.h
similarity index 100%
rename from uadk_benchmark/include/openssl/symhacks.h
rename to uadk_tool/include/openssl/symhacks.h
diff --git a/uadk_benchmark/include/openssl/tls1.h b/uadk_tool/include/openssl/tls1.h
similarity index 100%
rename from uadk_benchmark/include/openssl/tls1.h
rename to uadk_tool/include/openssl/tls1.h
diff --git a/uadk_benchmark/include/openssl/ts.h b/uadk_tool/include/openssl/ts.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ts.h
rename to uadk_tool/include/openssl/ts.h
diff --git a/uadk_benchmark/include/openssl/tserr.h b/uadk_tool/include/openssl/tserr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/tserr.h
rename to uadk_tool/include/openssl/tserr.h
diff --git a/uadk_benchmark/include/openssl/txt_db.h b/uadk_tool/include/openssl/txt_db.h
similarity index 100%
rename from uadk_benchmark/include/openssl/txt_db.h
rename to uadk_tool/include/openssl/txt_db.h
diff --git a/uadk_benchmark/include/openssl/ui.h b/uadk_tool/include/openssl/ui.h
similarity index 100%
rename from uadk_benchmark/include/openssl/ui.h
rename to uadk_tool/include/openssl/ui.h
diff --git a/uadk_benchmark/include/openssl/uierr.h b/uadk_tool/include/openssl/uierr.h
similarity index 100%
rename from uadk_benchmark/include/openssl/uierr.h
rename to uadk_tool/include/openssl/uierr.h
diff --git a/uadk_benchmark/include/openssl/whrlpool.h b/uadk_tool/include/openssl/whrlpool.h
similarity index 100%
rename from uadk_benchmark/include/openssl/whrlpool.h
rename to uadk_tool/include/openssl/whrlpool.h
diff --git a/uadk_benchmark/include/openssl/x509.h b/uadk_tool/include/openssl/x509.h
similarity index 100%
rename from uadk_benchmark/include/openssl/x509.h
rename to uadk_tool/include/openssl/x509.h
diff --git a/uadk_benchmark/include/openssl/x509_vfy.h b/uadk_tool/include/openssl/x509_vfy.h
similarity index 100%
rename from uadk_benchmark/include/openssl/x509_vfy.h
rename to uadk_tool/include/openssl/x509_vfy.h
diff --git a/uadk_benchmark/include/openssl/x509err.h b/uadk_tool/include/openssl/x509err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/x509err.h
rename to uadk_tool/include/openssl/x509err.h
diff --git a/uadk_benchmark/include/openssl/x509v3.h b/uadk_tool/include/openssl/x509v3.h
similarity index 100%
rename from uadk_benchmark/include/openssl/x509v3.h
rename to uadk_tool/include/openssl/x509v3.h
diff --git a/uadk_benchmark/include/openssl/x509v3err.h b/uadk_tool/include/openssl/x509v3err.h
similarity index 100%
rename from uadk_benchmark/include/openssl/x509v3err.h
rename to uadk_tool/include/openssl/x509v3err.h
diff --git a/uadk_benchmark/sec_soft_benchmark.c b/uadk_tool/sec_soft_benchmark.c
similarity index 100%
rename from uadk_benchmark/sec_soft_benchmark.c
rename to uadk_tool/sec_soft_benchmark.c
diff --git a/uadk_benchmark/sec_soft_benchmark.h b/uadk_tool/sec_soft_benchmark.h
similarity index 100%
rename from uadk_benchmark/sec_soft_benchmark.h
rename to uadk_tool/sec_soft_benchmark.h
diff --git a/uadk_benchmark/sec_uadk_benchmark.c b/uadk_tool/sec_uadk_benchmark.c
similarity index 100%
rename from uadk_benchmark/sec_uadk_benchmark.c
rename to uadk_tool/sec_uadk_benchmark.c
diff --git a/uadk_benchmark/sec_uadk_benchmark.h b/uadk_tool/sec_uadk_benchmark.h
similarity index 100%
rename from uadk_benchmark/sec_uadk_benchmark.h
rename to uadk_tool/sec_uadk_benchmark.h
diff --git a/uadk_benchmark/sec_wd_benchmark.c b/uadk_tool/sec_wd_benchmark.c
similarity index 100%
rename from uadk_benchmark/sec_wd_benchmark.c
rename to uadk_tool/sec_wd_benchmark.c
diff --git a/uadk_benchmark/sec_wd_benchmark.h b/uadk_tool/sec_wd_benchmark.h
similarity index 100%
rename from uadk_benchmark/sec_wd_benchmark.h
rename to uadk_tool/sec_wd_benchmark.h
diff --git a/uadk_benchmark/uadk_benchmark.c b/uadk_tool/uadk_benchmark.c
similarity index 91%
rename from uadk_benchmark/uadk_benchmark.c
rename to uadk_tool/uadk_benchmark.c
index cc63c26..5773b2c 100644
--- a/uadk_benchmark/uadk_benchmark.c
+++ b/uadk_tool/uadk_benchmark.c
@@ -448,7 +448,7 @@ static void dump_param(struct acc_option *option)
 	ACC_TST_PRT("    [--engine]:  %s\n", option->engine);
 }
 
-static int acc_benchmark_run(struct acc_option *option)
+int acc_benchmark_run(struct acc_option *option)
 {
 	int nr_children = 0;
 	pid_t *pids, pid;
@@ -510,7 +510,7 @@ static int acc_benchmark_run(struct acc_option *option)
 	return ret;
 }
 
-static int acc_default_case(struct acc_option *option)
+int acc_default_case(struct acc_option *option)
 {
 	ACC_TST_PRT("Test sec Cipher parameter default, alg: aes-128-cbc, set_times:3,"
 			"set_pktlen:1024 bytes, sync mode, one process, one thread.\n");
@@ -532,12 +532,12 @@ static int acc_default_case(struct acc_option *option)
 static void print_help(void)
 {
 	ACC_TST_PRT("NAME\n");
-	ACC_TST_PRT("    uadk_benchmark: test UADK acc performance,etc\n");
+	ACC_TST_PRT("    uadk_tool benchmark: test UADK acc performance,etc\n");
 	ACC_TST_PRT("USAGE\n");
-	ACC_TST_PRT("    uadk_benchmark [--alg aes-128-cbc] [--alg rsa-2048]\n");
-	ACC_TST_PRT("    uadk_benchmark [--mode] [--pktlen] [--keylen] [--seconds]\n");
-	ACC_TST_PRT("    uadk_benchmark [--multi] [--sync] [--async] [--help]\n");
-	ACC_TST_PRT("    numactl --cpubind=0  --membind=0,1 ./uadk_benchmark xxxx\n");
+	ACC_TST_PRT("    uadk_tool benchmark [--alg aes-128-cbc] [--alg rsa-2048]\n");
+	ACC_TST_PRT("    uadk_tool benchmark [--mode] [--pktlen] [--keylen] [--seconds]\n");
+	ACC_TST_PRT("    uadk_tool benchmark [--multi] [--sync] [--async] [--help]\n");
+	ACC_TST_PRT("    numactl --cpubind=0  --membind=0,1 ./uadk_tool benchmark xxxx\n");
 	ACC_TST_PRT("        specify numa nodes for cpu and memory\n");
 	ACC_TST_PRT("DESCRIPTION\n");
 	ACC_TST_PRT("    [--alg aes-128-cbc ]:\n");
@@ -560,29 +560,29 @@ static void print_help(void)
 	ACC_TST_PRT("        set the test openssl engine\n");
 	ACC_TST_PRT("    [--help]  = usage\n");
 	ACC_TST_PRT("Example\n");
-	ACC_TST_PRT("    ./uadk_benchmark --alg aes-128-cbc --mode sva --optype 0 --sync\n");
+	ACC_TST_PRT("    ./uadk_tool benchmark --alg aes-128-cbc --mode sva --opt 0 --sync\n");
 	ACC_TST_PRT("    	     --pktlen 1024 --seconds 1 --multi 1 --thread 1 --ctxnum 4\n");
 	ACC_TST_PRT("UPDATE:2021-7-28\n");
 }
 
-static void acc_cmd_parse(int argc, char *argv[], struct acc_option *option)
+void benchmark_cmd_parse(int argc, char *argv[], struct acc_option *option)
 {
 	int option_index = 0;
 	int c;
 
 	static struct option long_options[] = {
-		{"alg",    required_argument, 0,  1},
-		{"mode",    required_argument, 0,  2},
-		{"opt",    required_argument, 0,  3},
-		{"sync",      no_argument,       0,4},
-		{"async",     no_argument,       0,5},
-		{"pktlen",    required_argument, 0,  6},
-		{"seconds",    required_argument, 0,  7},
-		{"thread",     required_argument, 0,  8},
-		{"multi",     required_argument, 0,  9},
-		{"ctxnum",    required_argument, 0,  10},
-		{"engine",    required_argument,    0,11},
-		{"help",      no_argument,       0,  12},
+		{"alg",       required_argument, 0, 2},
+		{"mode",      required_argument, 0, 3},
+		{"opt",       required_argument, 0, 4},
+		{"sync",      no_argument,       0, 5},
+		{"async",     no_argument,       0, 6},
+		{"pktlen",    required_argument, 0, 7},
+		{"seconds",   required_argument, 0, 8},
+		{"thread",    required_argument, 0, 9},
+		{"multi",     required_argument, 0, 10},
+		{"ctxnum",    required_argument, 0, 11},
+		{"engine",    required_argument, 0, 12},
+		{"help",      no_argument,       0, 13},
 		{0, 0, 0, 0}
 	};
 
@@ -593,41 +593,41 @@ static void acc_cmd_parse(int argc, char *argv[], struct acc_option *option)
 
 		// ACC_TST_PRT("index:%d , optarg name:%s\n", c, optarg);
 		switch (c) {
-		case 1:
+		case 2:
 			option->algtype = get_alg_type(optarg);
 			strcpy(option->algname, optarg);
 			break;
-		case 2:
+		case 3:
 			option->modetype = get_mode_type(optarg);
 			break;
-		case 3:
+		case 4:
 			option->optype = strtol(optarg, NULL, 0);
 			break;
-		case 4:
+		case 5:
 			option->syncmode = SYNC_MODE;
 			break;
-		case 5:
+		case 6:
 			option->syncmode = ASYNC_MODE;
 			break;
-		case 6:
+		case 7:
 			option->pktlen = strtol(optarg, NULL, 0);
 			break;
-		case 7:
+		case 8:
 			option->times = strtol(optarg, NULL, 0);
 			break;
-		case 8:
+		case 9:
 			option->threads = strtol(optarg, NULL, 0);
 			break;
-		case 9:
+		case 10:
 			option->multis = strtol(optarg, NULL, 0);
 			break;
-		case 10:
+		case 11:
 			option->ctxnums = strtol(optarg, NULL, 0);
 			break;
-		case 11:
+		case 12:
 			strcpy(option->engine, optarg);
 			break;
-		case 12:
+		case 13:
 			print_help();
 			break;
 		default:
@@ -638,7 +638,7 @@ static void acc_cmd_parse(int argc, char *argv[], struct acc_option *option)
 	}
 }
 
-static int acc_option_convert(struct acc_option *option)
+int acc_option_convert(struct acc_option *option)
 {
 	if (option->algtype >= ALG_MAX)
 		goto param_err;
@@ -697,21 +697,3 @@ param_err:
 	ACC_TST_PRT("input parameter error, please input --help\n");
 	return -EINVAL;
 }
-
-int main(int argc, char *argv[])
-{
-	struct acc_option option = {0};
-	int ret = 0;
-
-	ACC_TST_PRT("start UADK benchmark test.\n");
-
-	if (!argv[1])
-		return acc_default_case(&option);
-
-	acc_cmd_parse(argc, argv, &option);
-	ret = acc_option_convert(&option);
-	if (ret)
-		return ret;
-
-	return acc_benchmark_run(&option);
-}
diff --git a/uadk_benchmark/uadk_benchmark.h b/uadk_tool/uadk_benchmark.h
similarity index 93%
rename from uadk_benchmark/uadk_benchmark.h
rename to uadk_tool/uadk_benchmark.h
index 9049e50..7ce0426 100644
--- a/uadk_benchmark/uadk_benchmark.h
+++ b/uadk_tool/uadk_benchmark.h
@@ -170,4 +170,9 @@ extern void add_recv_data(u32 cnt);
 extern void add_send_complete(void);
 extern u32 get_recv_time(void);
 
+void benchmark_cmd_parse(int argc, char *argv[], struct acc_option *option);
+int acc_default_case(struct acc_option *option);
+int acc_option_convert(struct acc_option *option);
+int acc_benchmark_run(struct acc_option *option);
+
 #endif /* UADK_BENCHMARK_H */
diff --git a/uadk_tool/uadk_dfx.c b/uadk_tool/uadk_dfx.c
new file mode 100644
index 0000000..96c4919
--- /dev/null
+++ b/uadk_tool/uadk_dfx.c
@@ -0,0 +1,79 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <getopt.h>
+#include <unistd.h>
+#include <limits.h>
+#include "uadk_dfx.h"
+
+#define print_date()	printf("built on: %s %s\n", __DATE__, __TIME__)
+
+static void print_version(void)
+{
+	printf("%s\n", UADK_VERSION_TEXT);
+	printf("%s\n", UADK_VERSION_TAG);
+}
+
+static void print_exe_path(void)
+{
+	char dir[PATH_MAX] = {0};
+	int n;
+
+	n = readlink("/proc/self/exe", dir, PATH_MAX);
+	if (n < 0 || n >= PATH_MAX)
+		printf("uadk tool failed to get the exe path.\n");
+
+	printf("exe path: %s\n", dir);
+}
+
+void print_dfx_help(void)
+{
+	printf("NAME\n");
+	printf("    uadk_tool --dfx : uadk library dfx function, etc\n");
+	printf("USAGE\n");
+	printf("        uadk_tool --dfx [--version] = Show library version\n");
+	printf("        uadk_tool --dfx [--date]    = Show build date\n");
+	printf("        uadk_tool --dfx [--dir]     = Show library dir\n");
+	printf("        uadk_tool --dfx [--help]    = usage\n");
+}
+
+void dfx_cmd_parse(int argc, char *argv[])
+{
+	int option_index = 0;
+	int c;
+
+	static struct option long_options[] = {
+		{"version", no_argument, 0,  2},
+		{"date",    no_argument, 0,  3},
+		{"dir",     no_argument, 0,  4},
+		{"help",    no_argument, 0,  5},
+		{0, 0, 0, 0}
+	};
+
+	while (1) {
+		c = getopt_long(argc, argv, "", long_options, &option_index);
+		if (c == -1)
+			break;
+
+		switch (c) {
+		case 2:
+			print_version();
+			break;
+		case 3:
+			print_date();
+			break;
+		case 4:
+			print_exe_path();
+			break;
+		case 5:
+			print_dfx_help();
+			break;
+		default:
+			printf("bad input parameter, exit\n");
+			exit(-1);
+		}
+	}
+}
diff --git a/uadk_tool/uadk_dfx.h b/uadk_tool/uadk_dfx.h
new file mode 100644
index 0000000..5f5d9e7
--- /dev/null
+++ b/uadk_tool/uadk_dfx.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+#ifndef UADK_DFX_H
+#define UADK_DFX_H
+
+#define UADK_VERSION_TEXT    "UADK 2.3.22, Released Dec 20th, 2021"
+#define UADK_VERSION_TAG     "4b9c69d"
+
+void print_dfx_help(void);
+void dfx_cmd_parse(int argc, char *argv[]);
+#endif
diff --git a/uadk_tool/uadk_tool.c b/uadk_tool/uadk_tool.c
new file mode 100644
index 0000000..88beeba
--- /dev/null
+++ b/uadk_tool/uadk_tool.c
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <limits.h>
+#include "uadk_dfx.h"
+#include "uadk_benchmark.h"
+
+static void print_tool_help(void)
+{
+	printf("NAME\n");
+	printf("uadk_tool dfx : Show some information for library.\n");
+	printf("uadk_tool benchmark : Test UADK acc performance.\n");
+}
+
+int main(int argc, char **argv)
+{
+	struct acc_option option = {0};
+	int ret;
+
+	if (argc > 1) {
+		if (!strcmp("dfx", argv[1])) {
+			dfx_cmd_parse(argc, argv);
+		} else if (!strcmp("benchmark", argv[1])) {
+			printf("start UADK benchmark test.\n");
+			if (!argv[2])
+				acc_default_case(&option);
+
+			benchmark_cmd_parse(argc, argv, &option);
+			ret = acc_option_convert(&option);
+			if (ret)
+				return ret;
+			(void)acc_benchmark_run(&option);
+		} else {
+			print_tool_help();
+		}
+	} else {
+		print_tool_help();
+	}
+
+	return 0;
+}
-- 
2.31.1

