Hi Zhangfei, I see below compilation error after executing the steps mentioned in UADK README. It would be better if you could add compilation steps for UADK in uadk.rst as well.
gakhil@cavium-SR1-T640:/home/gakhil/up/uadk$ make make all-recursive make[1]: Entering directory '/home/gakhil/up/uadk' Making all in . make[2]: Entering directory '/home/gakhil/up/uadk' depbase=`echo wd.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include -DUADK_VERSION_NUMBER="\"UADK version: 2.3.37\"" -DUADK_RELEASED_TIME="\"Released Jun 11, 2022\"" -g -O2 -MT wd.lo -MD -MP -MF $depbase.Tpo -c -o wd.lo wd.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include "-DUADK_VERSION_NUMBER=\"UADK version: 2.3.37\"" "-DUADK_RELEASED_TIME=\"Released Jun 11, 2022\"" -g -O2 -MT wd.lo -MD -MP -MF .deps/wd.Tpo -c wd.c -fPIC -DPIC -o .libs/wd.o depbase=`echo wd_mempool.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include -DUADK_VERSION_NUMBER="\"UADK version: 2.3.37\"" -DUADK_RELEASED_TIME="\"Released Jun 11, 2022\"" -g -O2 -MT wd_mempool.lo -MD -MP -MF $depbase.Tpo -c -o wd_mempool.lo wd_mempool.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include "-DUADK_VERSION_NUMBER=\"UADK version: 2.3.37\"" "-DUADK_RELEASED_TIME=\"Released Jun 11, 2022\"" -g -O2 -MT wd_mempool.lo -MD -MP -MF .deps/wd_mempool.Tpo -c wd_mempool.c -fPIC -DPIC -o .libs/wd_mempool.o depbase=`echo v1/wd.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include -DUADK_VERSION_NUMBER="\"UADK version: 2.3.37\"" -DUADK_RELEASED_TIME="\"Released Jun 11, 2022\"" -g -O2 -MT v1/wd.lo -MD -MP -MF $depbase.Tpo -c -o v1/wd.lo v1/wd.c &&\ mv -f $depbase.Tpo $depbase.Plo libtool: compile: gcc -DHAVE_CONFIG_H -I. -Wall -Werror -fno-strict-aliasing -I./include "-DUADK_VERSION_NUMBER=\"UADK version: 2.3.37\"" "-DUADK_RELEASED_TIME=\"Released Jun 11, 2022\"" -g -O2 -MT v1/wd.lo -MD -MP -MF v1/.deps/wd.Tpo -c v1/wd.c -fPIC -DPIC -o v1/.libs/wd.o In file included from v1/wd.c:30: ./v1/wd_util.h:354:2: error: #error "no platform mb, define one before compiling" 354 | #error "no platform mb, define one before compiling" | ^~~~~ make[2]: *** [Makefile:788: v1/wd.lo] Error 1 make[2]: Leaving directory '/home/gakhil/up/uadk' make[1]: *** [Makefile:859: all-recursive] Error 1 make[1]: Leaving directory '/home/gakhil/up/uadk' make: *** [Makefile:565: all] Error 2 > -----Original Message----- > From: Zhangfei Gao <zhangfei....@linaro.org> > Sent: Saturday, October 8, 2022 2:08 PM > To: Akhil Goyal <gak...@marvell.com>; Declan Doherty > <declan.dohe...@intel.com>; Fan Zhang <roy.fan.zh...@intel.com>; Ashish > Gupta <ashi...@marvell.com>; Ray Kinsella <m...@ashroe.eu> > Cc: dev@dpdk.org; a...@openeuler.org; Zhangfei Gao > <zhangfei....@linaro.org> > Subject: [EXT] [PATCH resend v3 0/6] crypto/uadk: introduce uadk crypto driver > > External Email > > ---------------------------------------------------------------------- > Introduce a new crypto PMD for hardware accelerators based on UADK [1]. > > UADK is a framework for user applications to access hardware accelerators. > UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share > the same page table between IOMMU and MMU. > Thereby user application can directly use virtual address for device dma, > which enhances the performance as well as easy usability. > > [1] https://urldefense.proofpoint.com/v2/url?u=https- > 3A__github.com_Linaro_uadk&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=Dn > L7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=riOYJQEEoq2hZSApJn- > _dXs6fqKRm8wqS-cJ48j15- > zpW3dOS8NrcrsBD7wC4cqY&s=irxZ2g1W2PchLQnfMPsNb8WJpjCS_- > Y_sdVRQT6wwo0&e= > > Test: > sudo dpdk-test --vdev=crypto_uadk (--log-level=6) > RTE>>cryptodev_uadk_autotest > RTE>>quit > > resend: > Rebase on next/for-main, which just merged series "cryptodev: rework session > framework". > > update in v3: > Split patches according to Akhil's suggestions > Please split the patches as below. > 1. introduce driver - create files with meson.build and with probe/remove > and device ops defined but not implemented. You do not need to write empty > functions. > Add basic documentation also which defines what the driver is. > You can explain the build dependency here. > 2. define queue structs and setup/remove APIs > 3. Add data path > 4. implement cipher op. Add capabilities and documentation of what is > supported in each of the patch. Add feature flags etc. > 5. implement auth, add capabilities and documentation > 6. test app changes. > > Update in v2: > Change uadk_supported_platform to uadk_crypto_version, which matches > better > than platform. > enum uadk_crypto_version { > UADK_CRYPTO_V2, > UADK_CRYPTO_V3, > }; > > Update in v1, compared with rfc > > Suggested from Akhil Goyal <gak...@marvell.com> > Only consider crypto PMD first > Split patch into small (individually compiled) patches. > Update MAINTAINERS and doc/guides/cryptodevs/features/uadk.ini > > Zhangfei Gao (6): > crypto/uadk: introduce uadk crypto driver > crypto/uadk: support basic operations > crypto/uadk: support enqueue/dequeue operations > crypto/uadk: support cipher algorithms > crypto/uadk: support auth algorithms > test/crypto: add cryptodev_uadk_autotest > > MAINTAINERS | 6 + > app/test/test_cryptodev.c | 7 + > app/test/test_cryptodev.h | 1 + > doc/guides/cryptodevs/features/uadk.ini | 55 ++ > doc/guides/cryptodevs/index.rst | 1 + > doc/guides/cryptodevs/uadk.rst | 74 ++ > drivers/crypto/meson.build | 1 + > drivers/crypto/uadk/meson.build | 36 + > drivers/crypto/uadk/uadk_crypto_pmd.c | 1145 +++++++++++++++++++++++ > drivers/crypto/uadk/version.map | 3 + > 10 files changed, 1329 insertions(+) > create mode 100644 doc/guides/cryptodevs/features/uadk.ini > create mode 100644 doc/guides/cryptodevs/uadk.rst > create mode 100644 drivers/crypto/uadk/meson.build > create mode 100644 drivers/crypto/uadk/uadk_crypto_pmd.c > create mode 100644 drivers/crypto/uadk/version.map > > -- > 2.36.1