blob: 0ec627a48efaf0d28f4d1ff82e6c752da8299530 [file] [log] [blame]
Sachin Saxena725c59c2016-06-10 16:31:30 +05301# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at:
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14# Configuration for NXP DPAA2 ARM64 based platform
15dpaa2_arch = aarch64
16dpaa2_os = linux-gnu
17dpaa2_target = aarch64-linux-gnu
18dpaa2_mtune = cortex-A57
19dpaa2_march = "armv8-a+fp+simd+crc+crypto"
20dpaa2_cross_ldflags = \
Sachin808b2db2016-06-18 15:56:35 +053021 -Wl,--dynamic-linker=/lib/ld-linux-aarch64.so.1 \
22 -Wl,-rpath=/usr/lib64
Sachin Saxena725c59c2016-06-10 16:31:30 +053023
24dpaa2_native_tools = vppapigen
25dpaa2_root_packages = vpp vlib vlib-api vnet svm vpp-api-test
26
27# DPDK configuration parameters
Sachinbd05e172016-06-17 14:18:19 +053028dpaa2_uses_dpdk = yes
29# Compile with external DPDK only if "DPDK_PATH" variable is defined where we have
Sachin Saxena725c59c2016-06-10 16:31:30 +053030# installed DPDK libraries and headers.
31ifeq ($(PLATFORM),dpaa2)
32ifneq ($(DPDK_PATH),)
33dpaa2_uses_dpdk = yes
34dpaa2_uses_external_dpdk = yes
35dpaa2_dpdk_inc_dir = $(DPDK_PATH)/include/dpdk
36dpaa2_dpdk_lib_dir = $(DPDK_PATH)/lib
37else
Sachinbd05e172016-06-17 14:18:19 +053038# compile using internal DPDK + NXP DPAA2 Driver patch
39dpaa2_dpdk_arch = "armv8a"
40dpaa2_dpdk_target = "arm64-dpaa2-linuxapp-gcc"
Sachin3f0cb9e2016-08-09 14:37:05 +053041dpaa2_dpdk_make_extra_args = "CROSS=$(dpaa2_target)- DPDK_PKTMBUF_HEADROOM=256"
Sachin Saxena725c59c2016-06-10 16:31:30 +053042endif
43endif
44
Ole Troanea3e1fc2016-06-24 20:10:30 +020045vpp_configure_args_dpaa2 = --with-dpdk --without-ipsec \
Sachin Saxena725c59c2016-06-10 16:31:30 +053046 --without-ipv6sr --with-sysroot=$(SYSROOT)
Ole Troanea3e1fc2016-06-24 20:10:30 +020047vnet_configure_args_dpaa2 = --with-dpdk --without-ipsec \
Sachin Saxena725c59c2016-06-10 16:31:30 +053048 --without-ipv6sr --with-sysroot=$(SYSROOT)
49
Sachin3f0cb9e2016-08-09 14:37:05 +053050# Set these parameters carefully. The vlib_buffer_t is 256 bytes, i.e.
51vlib_configure_args_dpaa2 = --with-pre-data=256
Sachin Saxena725c59c2016-06-10 16:31:30 +053052
53
54dpaa2_debug_TAG_CFLAGS = -g -O2 -DCLIB_DEBUG -fPIC -fstack-protector-all \
Sachin3f0cb9e2016-08-09 14:37:05 +053055 -march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
Sachin Saxena725c59c2016-06-10 16:31:30 +053056dpaa2_debug_TAG_LDFLAGS = -g -O2 -DCLIB_DEBUG -fstack-protector-all \
Sachin3f0cb9e2016-08-09 14:37:05 +053057 -march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
Sachin Saxena725c59c2016-06-10 16:31:30 +053058
59# Use -rdynamic is for stack tracing, O0 for debugging....default is O2
60# Use -DCLIB_LOG2_CACHE_LINE_BYTES to change cache line size
61dpaa2_TAG_CFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \
Sachin3f0cb9e2016-08-09 14:37:05 +053062 -mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
Sachin Saxena725c59c2016-06-10 16:31:30 +053063dpaa2_TAG_LDFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \
Sachin3f0cb9e2016-08-09 14:37:05 +053064 -mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6
Sachin Saxena725c59c2016-06-10 16:31:30 +053065
66