[EXT] [PATCH resend v3 0/6] crypto/uadk: introduce uadk crypto driver

Akhil Goyal gakhil at marvell.com
Mon Oct 10 09:55:08 CEST 2022


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 at 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.gao at linaro.org>
> Sent: Saturday, October 8, 2022 2:08 PM
> To: Akhil Goyal <gakhil at marvell.com>; Declan Doherty
> <declan.doherty at intel.com>; Fan Zhang <roy.fan.zhang at intel.com>; Ashish
> Gupta <ashishg at marvell.com>; Ray Kinsella <mdr at ashroe.eu>
> Cc: dev at dpdk.org; acc at openeuler.org; Zhangfei Gao
> <zhangfei.gao at 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 <gakhil at 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



More information about the dev mailing list