From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C70C7A04AB; Mon, 11 Nov 2019 11:34:55 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 979DC2904; Mon, 11 Nov 2019 11:34:55 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by dpdk.org (Postfix) with ESMTP id EDB22CF3; Mon, 11 Nov 2019 11:34:53 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 76B6B1FB; Mon, 11 Nov 2019 02:34:53 -0800 (PST) Received: from phil-VirtualBox.shanghai.arm.com (phil-VirtualBox.shanghai.arm.com [10.169.107.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A6B213F71A; Mon, 11 Nov 2019 02:34:50 -0800 (PST) From: Phil Yang To: dev@dpdk.org Cc: thomas@monjalon.net, david.marchand@redhat.com, jerinj@marvell.com, Honnappa.Nagarahalli@arm.com, gavin.hu@arm.com, joyce.kong@arm.com, nd@arm.com, stable@dpdk.org Date: Mon, 11 Nov 2019 18:34:21 +0800 Message-Id: <1573468461-25972-2-git-send-email-phil.yang@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1573468461-25972-1-git-send-email-phil.yang@arm.com> References: <1573468461-25972-1-git-send-email-phil.yang@arm.com> Subject: [dpdk-dev] [PATCH 2/2] doc: add aarch32 build guidance X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Add a guidance for aarch64 natively build 32-bit aarch32 DPDK. Cc: stable@dpdk.org Signed-off-by: Phil Yang Reviewed-by: Gavin Hu Tested-by: Joyce Kong --- .../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 + 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