[dpdk-dev] [PATCH] doc: add build steps to mrvl NIC guide

Tomasz Duszynski tdu at semihalf.com
Thu Oct 12 08:28:29 CEST 2017


On Thu, Oct 12, 2017 at 04:37:45AM +0200, Thomas Monjalon wrote:
> Show how to compile MUSDK and enable compilation of the mrvl PMD.
>
> The build test tool is also updated to support this new PMD.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> ---
>  devtools/test-build.sh   |  4 ++++
>  doc/guides/nics/mrvl.rst | 15 +++++++++++++++
>  2 files changed, 19 insertions(+)
>
> diff --git a/devtools/test-build.sh b/devtools/test-build.sh
> index c6dfaf0a8..4d7eaa499 100755
> --- a/devtools/test-build.sh
> +++ b/devtools/test-build.sh
> @@ -47,6 +47,7 @@ default_path=$PATH
>  # - DPDK_DEP_ZLIB (y/[n])
>  # - DPDK_MAKE_JOBS (int)
>  # - DPDK_NOTIFY (notify-send)
> +# - LIBMUSDK_PATH
>  # - LIBSSO_SNOW3G_PATH
>  # - LIBSSO_KASUMI_PATH
>  # - LIBSSO_ZUC_PATH
> @@ -129,6 +130,7 @@ reset_env ()
>  	unset DPDK_DEP_ZLIB
>  	unset AESNI_MULTI_BUFFER_LIB_PATH
>  	unset ARMV8_CRYPTO_LIB_PATH
> +	unset LIBMUSDK_PATH
>  	unset LIBSSO_SNOW3G_PATH
>  	unset LIBSSO_KASUMI_PATH
>  	unset LIBSSO_ZUC_PATH
> @@ -169,6 +171,8 @@ config () # <directory> <target> <options>
>  		sed -ri       's,(RESOURCE_TAR=)n,\1y,' $1/.config
>  		test "$DPDK_DEP_MOFED" != y || \
>  		sed -ri           's,(MLX._PMD=)n,\1y,' $1/.config
> +		test -z "$LIBMUSDK_PATH" || \
> +		sed -ri           's,(MRVL_PMD=)n,\1y,' $1/.config

test-build.sh modifications come with crypto-mrvl patches. The only
difference is that PMD_MRVL_CRYPTO is enabled instead of MRVL_PMD. Thus
I don't think it will apply after applying crypto patches.

>  		test "$DPDK_DEP_SZE" != y || \
>  		sed -ri       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
>  		test "$DPDK_DEP_ZLIB" != y || \
> diff --git a/doc/guides/nics/mrvl.rst b/doc/guides/nics/mrvl.rst
> index 462bc0e9d..df0032bda 100644
> --- a/doc/guides/nics/mrvl.rst
> +++ b/doc/guides/nics/mrvl.rst
> @@ -221,9 +221,24 @@ Building DPDK
>  Driver needs precompiled MUSDK library during compilation. Please consult
>  ``doc/musdk_get_started.txt`` for the detailed build instructions.
>
> +.. code-block:: console
> +
> +   export CROSS_COMPILE=<toolchain>/bin/aarch64-linux-gnu-
> +   ./bootstrap
> +   ./configure --enable-bpool-dma=64
> +   make install

I personally build MUSDK as follows:

export CROSS_COMPILE=/home/tdu/workspace/gcc-linaro-5.4.1-2017.01-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

make clean
./configure \
	--prefix=$(pwd)/musdk-install-dir \
	--enable-bpool-dma=64 \
	--enable-sam \
	--disable-shared

make install

'--enable-sam' is of course optional if you're not going to use crypto
engine.

MUSDK ends up in musdk-install-dir then. Otherwise you'll need extra
permissions to install to /usr/local. Of course its up to you where
would you like to have it installed.

The reason I tend to add '--disable-shared' is that during build
DPDK will suck in static libraries and then later on I don't have to
install MUSDK library on the development board.

> +
>  Before the DPDK build process the environmental variable ``LIBMUSDK_PATH`` with
>  the path to the MUSDK installation directory needs to be exported.
>
> +.. code-block:: console
> +
> +   export LIBMUSDK_PATH=<musdk>/usr/local
> +   export CROSS=aarch64-linux-gnu-
> +   make config T=arm64-armv8a-linuxapp-gcc
> +   sed -ri 's,(MRVL_PMD=)n,\1y,' build/.config
> +   make
> +
>
>  Usage Example
>  -------------
> --
> 2.14.1
>

Anyway patch looks good. Thanks.
Acked-by: Tomasz Duszynski <tdu at semihalf.com>

--
- Tomasz Duszyński


More information about the dev mailing list