[dpdk-dev] [PATCH] doc: add Mellanox BlueField platform guide

Thomas Monjalon thomas at monjalon.net
Wed May 8 10:27:56 CEST 2019


08/05/2019 04:04, Yongseok Koh:
> --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> +.. _getting_the_prerequisite_library:

The name of this anchor should specify "arm".

> +
>  Getting the prerequisite library
>  --------------------------------
[...]
> --- /dev/null
> +++ b/doc/guides/platform/bluefield.rst
> +Toolchains, OS and drivers can be downloaded and installed individually on the
> +Web. But it is recommended to follow instructions at `Mellanox BlueField
> +Software Website <http://www.mellanox.com/page/products_dyn?product_family=279&mtag=bluefield_software>`_.

Please split lines more often to avoid a line break in the middle
of the link name.

[...]
> +Such required libraries can be cross-compiled and installed on to the cross
> +toolchain directory like depicted in :ref:`getting_the_prerequisite_library`,
> +but those can also be simply copied from the filesystem of a working BlueField
> +platform. The following is to create such supplementary tarball on a BlueField
> +platform.

We are talking about cross-compilation?
So we do the following commands on a x86 machine?
I think I don't understand, it seems to be on BlueField.
Please make it explicit below.

> +.. code-block:: console
> +
> +        mkdir -p aarch64-linux-gnu/libc
> +        pushd $PWD
> +        cd aarch64-linux-gnu/libc
> +
> +        # Copy libraries
> +        mkdir -p lib64
> +        cp -a /lib64/libibverbs* lib64/
> +        cp -a /lib64/libmnl* lib64/
> +        cp -a /lib64/libmlx5* lib64/
> +        cp -a /lib64/libnl-3* lib64/
> +        cp -a /lib64/libnl-route-3* lib64/
> +
> +        # Copy header files
> +        mkdir -p usr/include/infiniband
> +        mkdir -p usr/include/libmnl
> +        cp -a /usr/include/infiniband/ib_user_ioctl_verbs.h usr/include/infiniband/
> +        cp -a /usr/include/infiniband/mlx5*.h usr/include/infiniband/
> +        cp -a /usr/include/infiniband/tm_types.h usr/include/infiniband/
> +        cp -a /usr/include/infiniband/verbs*.h usr/include/infiniband/
> +        cp -a /usr/include/libmnl/libmnl.h usr/include/libmnl/
> +
> +        # Create supplementary tarball
> +        popd
> +        tar cf aarch64-linux-gnu-mlx.tar aarch64-linux-gnu/
> +
> +Then, untar the tarball at the cross toolchain directory on the x86 host.
> +
> +.. code-block:: console
> +
> +        cd $(dirname $(which aarch64-linux-gnu-gcc))/..
> +        tar xf aarch64-linux-gnu-mlx.tar

OK, this step is clearly on x86.

> +- make build

Should it be a sub-title instead of a list item?

> +
> +.. code-block:: console
> +
> +        make config T=arm64-bluefield-linuxapp-gcc
> +        make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n
> +
> +- meson build
> +
> +.. code-block:: console
> +
> +        meson build --cross-file config/arm/arm64_bluefield_linux_gcc
> +        ninja -C build

[...]
> --- a/doc/guides/rel_notes/release_19_05.rst
> +++ b/doc/guides/rel_notes/release_19_05.rst
> +* **Added new platform specific guide:**
> +
> +  * BlueField (Mellanox)

I don't think a doc deserves to be in the release notes.




More information about the dev mailing list