From a23197980e40d4d9414bcfaf59005a1dc2a89251 Mon Sep 17 00:00:00 2001 From: sreejith Date: Wed, 29 Mar 2017 01:15:02 -0400 Subject: Added vpp intial source code from master branch 17.01.1 Change-Id: I81bdace6f330825a1746a853766779dfb24765fd Signed-off-by: sreejith --- vpp/build-data/platforms/arm32.mk | 45 ++++++++++++++++++++++++ vpp/build-data/platforms/dpaa2.mk | 66 ++++++++++++++++++++++++++++++++++ vpp/build-data/platforms/qppc.mk | 34 ++++++++++++++++++ vpp/build-data/platforms/thunder.mk | 36 +++++++++++++++++++ vpp/build-data/platforms/vpp.mk | 68 ++++++++++++++++++++++++++++++++++++ vpp/build-data/platforms/vpp_lite.mk | 51 +++++++++++++++++++++++++++ 6 files changed, 300 insertions(+) create mode 100644 vpp/build-data/platforms/arm32.mk create mode 100644 vpp/build-data/platforms/dpaa2.mk create mode 100644 vpp/build-data/platforms/qppc.mk create mode 100644 vpp/build-data/platforms/thunder.mk create mode 100644 vpp/build-data/platforms/vpp.mk create mode 100644 vpp/build-data/platforms/vpp_lite.mk (limited to 'vpp/build-data/platforms') diff --git a/vpp/build-data/platforms/arm32.mk b/vpp/build-data/platforms/arm32.mk new file mode 100644 index 00000000..7b80061b --- /dev/null +++ b/vpp/build-data/platforms/arm32.mk @@ -0,0 +1,45 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vector packet processor +arm32_arch = native +arm32_native_tools = vppapigen + +arm32_uses_dpdk = yes +arm32_uses_openssl = no + +arm32_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \ + jvpp gmod + +vlib_configure_args_arm32 = --with-pre-data=128 +vnet_configure_args_arm32 = --with-dpdk --without-ipsec --without-ipv6sr +vpp_configure_args_arm32 = --with-dpdk --without-ipsec --without-ipv6sr + +arm32_dpdk_arch = "armv7a" +arm32_dpdk_target = "arm-armv7a-linuxapp-gcc" +arm32_dpdk_make_extra_args = "CPU_CFLAGS='-mfloat-abi=hard' \ + CONFIG_RTE_EAL_IGB_UIO=y \ + CONFIG_RTE_LIBRTE_E1000_PMD=y \ + CONFIG_RTE_MAX_LCORE=4 \ + CONFIG_RTE_MAX_NUMA_NODES=1" + + +arm32_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \ + -fstack-protector-all -fPIC -Werror +arm32_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \ + -fstack-protector-all -fPIC -Werror + +arm32_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \ + -fstack-protector -fPIC -Werror +arm32_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -DVLIB_MAX_CPUS=4 -march=armv7-a \ + -fstack-protector -fPIC -Werror diff --git a/vpp/build-data/platforms/dpaa2.mk b/vpp/build-data/platforms/dpaa2.mk new file mode 100644 index 00000000..0ec627a4 --- /dev/null +++ b/vpp/build-data/platforms/dpaa2.mk @@ -0,0 +1,66 @@ +# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Configuration for NXP DPAA2 ARM64 based platform +dpaa2_arch = aarch64 +dpaa2_os = linux-gnu +dpaa2_target = aarch64-linux-gnu +dpaa2_mtune = cortex-A57 +dpaa2_march = "armv8-a+fp+simd+crc+crypto" +dpaa2_cross_ldflags = \ + -Wl,--dynamic-linker=/lib/ld-linux-aarch64.so.1 \ + -Wl,-rpath=/usr/lib64 + +dpaa2_native_tools = vppapigen +dpaa2_root_packages = vpp vlib vlib-api vnet svm vpp-api-test + +# DPDK configuration parameters +dpaa2_uses_dpdk = yes +# Compile with external DPDK only if "DPDK_PATH" variable is defined where we have +# installed DPDK libraries and headers. +ifeq ($(PLATFORM),dpaa2) +ifneq ($(DPDK_PATH),) +dpaa2_uses_dpdk = yes +dpaa2_uses_external_dpdk = yes +dpaa2_dpdk_inc_dir = $(DPDK_PATH)/include/dpdk +dpaa2_dpdk_lib_dir = $(DPDK_PATH)/lib +else +# compile using internal DPDK + NXP DPAA2 Driver patch +dpaa2_dpdk_arch = "armv8a" +dpaa2_dpdk_target = "arm64-dpaa2-linuxapp-gcc" +dpaa2_dpdk_make_extra_args = "CROSS=$(dpaa2_target)- DPDK_PKTMBUF_HEADROOM=256" +endif +endif + +vpp_configure_args_dpaa2 = --with-dpdk --without-ipsec \ + --without-ipv6sr --with-sysroot=$(SYSROOT) +vnet_configure_args_dpaa2 = --with-dpdk --without-ipsec \ + --without-ipv6sr --with-sysroot=$(SYSROOT) + +# Set these parameters carefully. The vlib_buffer_t is 256 bytes, i.e. +vlib_configure_args_dpaa2 = --with-pre-data=256 + + +dpaa2_debug_TAG_CFLAGS = -g -O2 -DCLIB_DEBUG -fPIC -fstack-protector-all \ + -march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 +dpaa2_debug_TAG_LDFLAGS = -g -O2 -DCLIB_DEBUG -fstack-protector-all \ + -march=$(MARCH) -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 + +# Use -rdynamic is for stack tracing, O0 for debugging....default is O2 +# Use -DCLIB_LOG2_CACHE_LINE_BYTES to change cache line size +dpaa2_TAG_CFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \ + -mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 +dpaa2_TAG_LDFLAGS = -g -O2 -fPIC -march=$(MARCH) -mcpu=$(dpaa2_mtune) \ + -mtune=$(dpaa2_mtune) -funroll-all-loops -Werror -DCLIB_LOG2_CACHE_LINE_BYTES=6 + + diff --git a/vpp/build-data/platforms/qppc.mk b/vpp/build-data/platforms/qppc.mk new file mode 100644 index 00000000..244747e7 --- /dev/null +++ b/vpp/build-data/platforms/qppc.mk @@ -0,0 +1,34 @@ +# Qemu "p-series" powerpc64 + +qppc_os = linux-gnu + +qppc_cross_ldflags = \ + -Wl,--dynamic-linker=/lib64/ld64.so.1 + +qppc_arch = powerpc + +qppc_root_packages = vppinfra vlib vlib-api vnet svm \ + vpp vpp-api-test + +vnet_configure_args_qppc = \ + --without-ipsec --without-ipv6sr + +vpp_configure_args_qppc = \ + --without-ipsec --without-ipv6sr + +vlib_configure_args_qppc = --with-pre-data=128 + +qppc_march=powerpc64 + +# native tool chain additions for this platform +qppc_native_tools = vppapigen + +qppc_uses_dpdk = no + +qppc_debug_TAG_CFLAGS = -m64 -g -O0 -DCLIB_DEBUG -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec +qppc_debug_TAG_LDFLAGS = -m64 -g -O0 -DCLIB_DEBUG -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec + +qppc_TAG_CFLAGS = -m64 -g -O2 -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec +qppc_TAG_LDFLAGS = -m64 -g -O2 -DCLIB_LOG2_CACHE_LINE_BYTES=6 -maltivec + + diff --git a/vpp/build-data/platforms/thunder.mk b/vpp/build-data/platforms/thunder.mk new file mode 100644 index 00000000..f891f4a1 --- /dev/null +++ b/vpp/build-data/platforms/thunder.mk @@ -0,0 +1,36 @@ +# Override OS so we can use the sdk toolchain instead of building one +thunder_os = thunderx-linux-gnu + +# Override CROSS_LDFLAGS so we can use +# /lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 instead of building glibc +thunder_cross_ldflags = \ + -Wl,--dynamic-linker=/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1 \ + -Wl,-rpath -Wl,$(lots_of_slashes_to_pad_names)$(TOOL_INSTALL_LIB_DIR) + +thunder_arch = aarch64 +# suppress -march=foo, the cross compiler doesn't understand it +thunder_march = " " + +thunder_root_packages = vppinfra vlib-cavium-dpdk vnet-cavium-dpdk cavium-dpdk \ + vpp-cavium-dpdk vpp-api-test-cavium-dpdk + +vnet-cavium-dpdk_configure_args_thunder = \ + --with-dpdk --without-ipsec --without-ipv6sr + +vpp-cavium-dpdk_configure_args_thunder = \ + --with-dpdk --without-ipsec --without-ipv6sr + +cavium-dpdk_configure_args_thunder = --with-headroom=256 + +vlib-cavium-dpdk_configure_args_thunder = --with-pre-data=128 + +# native tool chain additions for this platform +thunder_native_tools = vppapigen + +thunder_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG +thunder_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG + +thunder_TAG_CFLAGS = -g -O2 +thunder_TAG_LDFLAGS = -g -O2 + + diff --git a/vpp/build-data/platforms/vpp.mk b/vpp/build-data/platforms/vpp.mk new file mode 100644 index 00000000..15d4dc39 --- /dev/null +++ b/vpp/build-data/platforms/vpp.mk @@ -0,0 +1,68 @@ +# Copyright (c) 2015 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vector packet processor +vpp_arch = native +ifeq ($(shell uname -m),x86_64) +vpp_march = corei7 # Nehalem Instruction set +vpp_mtune = corei7-avx # Optimize for Sandy Bridge +vpp_dpdk_arch = corei7 +else +vpp_march = native +vpp_mtune = generic +vpp_dpdk_arch = native +endif +vpp_native_tools = vppapigen + +vpp_uses_dpdk = yes + +# Uncoment to enable building unit tests +# vpp_enable_tests = yes + +vpp_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \ + vpp-api gmod plugins + +vpp_configure_args_vpp = --with-dpdk +vnet_configure_args_vpp = --with-dpdk + +# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e. +vlib_configure_args_vpp = --with-pre-data=128 + +plugins_configure_args_vpp = --with-dpdk + +# DPDK configuration parameters +# vpp_uses_dpdk_cryptodev = yes +# vpp_uses_external_dpdk = yes +# vpp_dpdk_inc_dir = /usr/include/dpdk +# vpp_dpdk_lib_dir = /usr/lib +# vpp_dpdk_shared_lib = yes + +vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC -Werror +vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC -Werror + +vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror +vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror + +vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror +vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror + +vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ + -fPIC -Werror -fprofile-arcs -ftest-coverage +vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ + -fPIC -Werror -coverage diff --git a/vpp/build-data/platforms/vpp_lite.mk b/vpp/build-data/platforms/vpp_lite.mk new file mode 100644 index 00000000..ef2ec444 --- /dev/null +++ b/vpp/build-data/platforms/vpp_lite.mk @@ -0,0 +1,51 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# vector packet processor +vpp_lite_arch = native +ifeq ($(shell uname -m),x86_64) +vpp_lite_march = corei7 # Nehalem Instruction set +vpp_lite_mtune = corei7-avx # Optimize for Sandy Bridge +else +vpp_lite_march = native +vpp_lite_mtune = generic +endif +vpp_lite_native_tools = vppapigen + +vpp_lite_uses_dpdk = no + +# Uncoment to enable building unit tests +#vpp_lite_enable_tests = yes + +vpp_lite_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \ + vpp-api gmod + +vlib_configure_args_vpp_lite = --with-pre-data=128 + +vnet_configure_args_vpp_lite = +vpp_configure_args_vpp_lite = + +vpp_lite_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC -Werror +vpp_lite_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC -Werror + +vpp_lite_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror +vpp_lite_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ + -fstack-protector -fPIC -Werror + +vpp_lite_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ + -fPIC -Werror -fprofile-arcs -ftest-coverage +vpp_lite_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ + -fPIC -Werror -coverage -- cgit 1.2.3-korg