Add a guidance for aarch64 natively build 32-bit aarch32 DPDK.

Cc: sta...@dpdk.org

Signed-off-by: Phil Yang <phil.y...@arm.com>
Reviewed-by: Gavin Hu <gavin...@arm.com>
Tested-by: Joyce Kong <joyce.k...@arm.com>

---
 .../linux_gsg/cross_build_dpdk_for_arm64.rst       | 36 ++++++++++++++++++----
 1 file changed, 30 insertions(+), 6 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 e799b0b..409d444 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,15 @@
 ..  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 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
 ---------------------------
@@ -133,3 +133,27 @@ command::
 
        meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
        ninja -C arm64-build
+
+Compiling DPDK for aarch32/armv7 on aarch64 host
+------------------------------------------
+
+Some aarch64 platforms support EL0 aarch32 mode, so the 32-bit aarch32
+applications and the legacy 32-bit armv7 applications can run in this mode.
+With the GNU C compiler for the armhf architecture toolchain
+gcc-arm-linux-gnueabihf, it can generate aarch32 binary on aarch64 natively.
+
+For Example, in 64-bit Debian, we can use the following command to build 
32-bit armv7 DPDK on aarch64 natively:
+
+Install cross compile toolchain for the armhf architecure.
+command::
+
+       dpkg --add-architecture armhf
+       apt-get update
+       apt-get install -y gcc gcc-arm-linux-gnueabihf libc6:armhf make binutils
+
+Build DPDK arm-armv7a-linuxapp-gcc executables.
+command::
+
+       cd <dpdk_folder>
+       make config CROSS=arm-linux-gnueabihf- T=arm-armv7a-linuxapp-gcc
+       make -j CROSS=arm-linux-gnueabihf- T=arm-armv7a-linuxapp-gcc 
RTE_DEVEL_BUILD=n
-- 
2.7.4

Reply via email to