Build packages for generic Arm architecture
The current aarch64 version of VPP package distro in cloud repository (https://packagecloud.io/fdio/master/ubuntu), is built on a ThunderX server, using some arch-specific options, for example, 128Byte cache line size, T=arm64-thunderx-linuxapp-gcc, RTE_MACHINE=thunderx The patch is trying to build package distro with aarch64 generic features, for both binary type targets, e.g., build/build-release, and package type targets, e.g., pkg-deb/pkg-rpm, with the generic options, e.g., 128Byte cache line size, T=arm64-armv8a-linuxapp-gcc, RTE_MACHINE=armv8a If end users want to build arch specific optimized image, TARGET_PLATFORM variable could be used, as below example, $ make build-release/pkg-deb TARGET_PLATFORM=thunderx Change-Id: If78bca8709fe83db6a95e8c26346f206bf5ea71d Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com> Reviewed-by: Sirshak Das <Sirshak.Das@arm.com> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
This commit is contained in:
committed by
Damjan Marion
parent
a77521290a
commit
49c1bc845d
@@ -44,6 +44,10 @@ ifneq ($(DPDK_PLATFORM_TARGET),)
|
||||
DPDK_MAKE_ARGS += DPDK_TARGET=$(DPDK_PLATFORM_TARGET)
|
||||
endif
|
||||
|
||||
ifneq (,$(TARGET_PLATFORM))
|
||||
DPDK_MAKE_ARGS += DPDK_AARCH64_GENERIC=n
|
||||
endif
|
||||
|
||||
DPDK_MAKE_EXTRA_ARGS = $(strip $($(PLATFORM)_dpdk_make_extra_args))
|
||||
ifneq ($(DPDK_MAKE_EXTRA_ARGS),)
|
||||
DPDK_MAKE_ARGS += DPDK_MAKE_EXTRA_ARGS="$(DPDK_MAKE_EXTRA_ARGS)"
|
||||
|
||||
@@ -31,6 +31,11 @@ vpp_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(vpp_cmake_prefix_path)"
|
||||
ifeq ("$(V)","1")
|
||||
vpp_cmake_args += -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
|
||||
endif
|
||||
ifeq (,$(TARGET_PLATFORM))
|
||||
ifeq ($(MACHINE),aarch64)
|
||||
vpp_cmake_args += -DVPP_LOG2_CACHE_LINE_SIZE=7
|
||||
endif
|
||||
endif
|
||||
|
||||
# Use devtoolset on centos 7
|
||||
ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
|
||||
|
||||
Vendored
+8
-1
@@ -15,6 +15,7 @@ DPDK_PKTMBUF_HEADROOM ?= 128
|
||||
DPDK_CACHE_LINE_SIZE ?= 64
|
||||
DPDK_DOWNLOAD_DIR ?= $(DL_CACHE_DIR)
|
||||
DPDK_DEBUG ?= n
|
||||
DPDK_AARCH64_GENERIC ?= y
|
||||
DPDK_MLX4_PMD ?= n
|
||||
DPDK_MLX5_PMD ?= n
|
||||
DPDK_TAP_PMD ?= n
|
||||
@@ -67,7 +68,10 @@ export CROSS
|
||||
DPDK_TARGET ?= arm64-armv8a-linuxapp-$(DPDK_CC)
|
||||
DPDK_MACHINE ?= armv8a
|
||||
DPDK_TUNE ?= generic
|
||||
|
||||
ifeq (y, $(DPDK_AARCH64_GENERIC))
|
||||
DPDK_CACHE_LINE_SIZE := 128
|
||||
# assign aarch64 variant specific options
|
||||
else
|
||||
CPU_IMP_ARM = 0x41
|
||||
CPU_IMP_CAVIUM = 0x43
|
||||
|
||||
@@ -112,6 +116,9 @@ $(warning Unknown Cavium CPU)
|
||||
endif
|
||||
endif
|
||||
|
||||
# finish of assigning aarch64 variant specific options
|
||||
endif
|
||||
|
||||
##############################################################################
|
||||
# Unknown platform
|
||||
##############################################################################
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
if(CMAKE_CROSSCOMPILING)
|
||||
message(STATUS "Cross-compiling - cache line size detection disabled")
|
||||
set(VPP_LOG2_CACHE_LINE_SIZE 6)
|
||||
elseif(DEFINED VPP_LOG2_CACHE_LINE_SIZE)
|
||||
# Cache line size assigned via cmake args
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
|
||||
file(READ "/proc/cpuinfo" cpuinfo)
|
||||
string(REPLACE "\n" ";" cpuinfo ${cpuinfo})
|
||||
|
||||
Reference in New Issue
Block a user