Juraj Linkeš <juraj.lin...@pantheon.tech> writes: > From: Phil Yang <phil.y...@arm.com> > > Add cross-compiling guidance for 32-bit aarch32 DPDK on aarch64 host. > > Signed-off-by: Phil Yang <phil.y...@arm.com> > --- > .../linux_gsg/cross_build_dpdk_for_arm64.rst | 30 ++++++++++++++----- > 1 file changed, 23 insertions(+), 7 deletions(-) > > diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst > b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst > index c5875a6d5..07085e3ea 100644 > --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst > +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst > @@ -1,15 +1,16 @@ > .. SPDX-License-Identifier: BSD-3-Clause > Copyright(c) 2018 ARM Corporation. > > -Cross compile DPDK for ARM64 > -============================ > -This chapter describes how to cross compile DPDK for ARM64 from x86 build > hosts. > +Cross compile DPDK for aarch64 and aarch32 > +========================================== > +This chapter describes how to cross compile DPDK for aarch64 from x86 build > hosts and compile > +32-bit aarch32 DPDK from aarch64 build hosts. > > .. note:: > > - Whilst it is recommended to natively build DPDK on ARM64 (just > - like with x86), it is also possible to cross-build DPDK for ARM64. An > - ARM64 cross compile GNU toolchain is used for this. > + Whilst it is recommended to natively build DPDK on aarch64 (just > + like with x86), it is also possible to cross-build DPDK for aarch64. > + An aarch64 cross compile GNU toolchain is used for this. > > Obtain the cross tool chain > --------------------------- > @@ -88,18 +89,33 @@ To install it in Ubuntu:: > > sudo apt-get install pkg-config-aarch64-linux-gnu > > +.. note:: > + > + Some aarch64 platforms support EL0 aarch32 mode, which means the 32-bit > aarch32 applications > + can run on aarch64. The armhf architecture toolchain > ``gcc-arm-linux-gnueabihf`` is required > + for aarch32 on aarch64. To install it in Ubuntu:: > + > + sudo dpkg --add-architecture armhf > + sudo apt-get update > + sudo apt-get install -y gcc gcc-arm-linux-gnueabihf libc6:armhf make > binutils > +
Is 'make' still needed? I don't run Ubuntu, so I'm not sure. > To cross-compile DPDK on a desired target machine we can use the following > command:: > > meson cross-build --cross-file <target_machine_configuration> > ninja -C cross-build > > -For example if the target machine is arm64 we can use the following > +For example if the target machine is aarch64 we can use the following > command:: > > meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc > ninja -C arm64-build > > +If the target machine is aarch32 we can use the following command:: > + > + meson arm32-build --cross-file config/arm/arm32_armv8a_linux_gcc > + ninja -C arm32-build > + > Configure and Cross Compile DPDK using Make > ------------------------------------------- > To configure a build, choose one of the target configurations, like > arm64-dpaa-linux-gcc and arm64-thunderx-linux-gcc.