[dpdk-dev] doc: add build steps to mrvl NIC guide
Checks
Commit Message
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@monjalon.net>
---
devtools/test-build.sh | 4 ++++
doc/guides/nics/mrvl.rst | 15 +++++++++++++++
2 files changed, 19 insertions(+)
Comments
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@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@semihalf.com>
--
- Tomasz Duszyński
12/10/2017 08:28, Tomasz Duszynski:
> 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@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.
OK I will adapt with crypto patches.
> > --- 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.
No, the default is to install in usr/local inside musdk directory.
> 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
> > +
[...]
>
> Anyway patch looks good. Thanks.
> Acked-by: Tomasz Duszynski <tdu@semihalf.com>
>
> --
> - Tomasz Duszyński
Thanks
@@ -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 "$DPDK_DEP_SZE" != y || \
sed -ri 's,(PMD_SZEDATA2=)n,\1y,' $1/.config
test "$DPDK_DEP_ZLIB" != y || \
@@ -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
+
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
-------------