[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