[dpdk-dev] [PATCH] doc: add Mellanox BlueField platform guide
Yongseok Koh
yskoh at mellanox.com
Wed May 8 11:37:28 CEST 2019
> On May 8, 2019, at 1:27 AM, Thomas Monjalon <thomas at monjalon.net> wrote:
>
> 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.
Thanks for the review, Thomas.
Will fix what you pointed out, all of them make sense to me.
I'm going to wait for another review (hopefully) and send out v2 soon.
Yongseok
More information about the dev
mailing list