summaryrefslogtreecommitdiffstats
path: root/build-data/platforms
AgeCommit message (Collapse)AuthorFilesLines
2016-06-10NXP dpaa2 platform initial supportSachin Saxena1-0/+63
- On ARMv8 aarch64 CPU - TARGET is aarch64-linux-gnu - Cross compilation enabled with "gcc-linaro-4.9" toolchain make PLATFORM=dpaa2 TAG=dpaa2 ... Change-Id: I8faf5c8b0d3c81d33a2834c6429a05c8379309c1 Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion2-4/+9
* compiler -march= parameter is changed from native to corei7 so code is always genereted with instructions which are available on the Nehalem microarchitecture (up to SSE4.2) * compiler -mtune= parameter is added so code is optimized for corei7-avx which equals to Sandy Bridge microarchitecture * set of macros is added which allows run-time detection of available cpu instructions (e.g. clib_cpu_supports_avx()) * set of macros is added which allows us to clone graph node funcitons where cloned function is optmized for different microarchitecture Those macros are using following attributes: __attribute__((flatten)) __attribute__((target("arch=core-avx2))) I.e. If applied to foo_node_fn() macro will generate cloned functions foo_node_fn_avx2() and foo_node_fn_avx512() (future) It will also generate function void * foo_node_fn_multiarch_select() which detects available instruction set and returns pointer to the best matching function clone. Change-Id: I2dce0ac92a5ede95fcb56f47f3d1f3c4c040bac0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine1-3/+11
Allows DPDK parameters to be overriden from the platform definition. $(PLATFORM)_dpdk_arch = "armv7a" $(PLATFORM)_dpdk_target = "arm-armv7a-linuxapp-gcc" $(PLATFORM)_dpdk_make_extra_args = "CONFIG_RTE_EAL_IGB_UIO=y" Change-Id: I8c0f233942744cb82ca3ed2d65e33acee845cb4e Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-20Python-API: Inital commit of Python bindings for the VPP API.Ole Troan3-3/+3
See: https://wiki.fd.io/view/VPP/Python_API Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-20Add TAG=vpp_gcov which compiles vpp to produce .gcda filesDave Barach1-0/+5
Change-Id: Ib6a0940e08f9e0983f3ec70f9e8488c2185ca4da Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-18Add support for AArch32Christophe Fontaine1-0/+37
gcc version 4.9.2 (Raspbian 4.9.2-10) Tested on Linux raspberrypi 4.4.6-v7+ #875 SMP Tue Apr 12 16:33:02 BST 2016 armv7l GNU/Linux CPUs may be little or big endian, detect with gcc flags, not the processor architecture Add a new flag $(PLATFORM)_uses_openssl which allows to disable the link with openssl lib. vlib/vlib/threads.c: startup.conf must: - specify the heapsize as we don't have hugepages on raspbian cpu { main-core 3 } heapsize 64M Corrects in various files the assumption uword == u64 and replaces 'u64' cast with 'pointer_to_uword' and 'uword_to_pointer' where appropriate. 256 CPUs may create an OOM when testing with small memory footprint ( heapsize 64M ), allows the number of VLIB_MAX_CPUS to be set in platforms/*.mk vppinfra/vppinfra/longjmp.S: ARM - copy r1 (1st parameter of the setjmp call) to r0 (return value) vppinfra/vppinfra/time.h: On ARMv7 in AArch32 mode, we can access to a 64bit register to retreive the cycles count. gcc on rpi only declare ARM_ARCH 6. Override this info, and check if it is possible to use 'mrrc'. /!\ the time function will NOT work without allowing the user mode access to the PMU. You may download the source of the kmod here: https://github.com/christophefontaine/arm_rdtsc Change-Id: I8142606436d9671a184133b935398427f08a8bd2 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-11Add configure option to enable building unit testsDamjan Marion1-0/+3
Same template should be used for other libs... Change-Id: Icc771cb6b243d215f30fb51c0dbc028e497a74c6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-01Add options to link with external DPDK treeDamjan Marion1-1/+6
By uncommenting following lines in the build-data/platforms/vpp.mk VPP links nicely with packaged DPDK 2.2 distributed with Ubuntu 16.04 LTS. vpp_uses_external_dpdk = yes vpp_dpdk_inc_dir = /usr/include/dpdk vpp_dpdk_lib_dir = /usr/lib vpp_dpdk_shared_lib = yes Change-Id: Id5b7d95bac6aa60341933b92e86d949a9abf1a5d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25Use rte_mempool private data for storing vlib_buffer_tDamjan Marion2-4/+0
Change-Id: If3fc88a35bc0b736376113a39667caea42802ea1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion1-11/+22
Standard Ubuntu PowerPC toolchain can be installed with: apt-get install crossbuild-essential-powerpc And code can be built with: make PLATFORM=qppc TAG=qppc ... Change-Id: I247355fc89fd61aedb8693156e84c454ca86eb75 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion3-0/+40
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-10Compile with -Werror, so Jenkins will catch warningsDave Barach1-4/+4
Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-02Enable ganglia module integration buildDave Barach1-1/+1
Change-Id: Ia49e9f246e8318ba74195c3397472fb0c102389b Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach1-0/+36
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-21PowerPC64-be arch support. Qemu ("qppc") platform support.Dave Barach1-0/+23
Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d Signed-off-by: Dave Barach <dave@barachs.net>
2015-12-16Move vppctl to vpp-api-testDamjan Marion1-1/+1
Change-Id: I4af0eb9c09d14a1a9803cf1b25bc3d7b814c82cc Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-16Add vppctl as a simple cli interface to vppEd Warnicke1-1/+1
This patch provides a pretty simple hack on top of vpe_api_test to give users a cli interface to vpp. Example: sudo vppctl show api client sudo vppctl show int It has the advantage that users can use bash shell scripting and history with it. Change-Id: I621dd8e29269e14a83b4887f20adcfbe5f946b99 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-15Remove vppversion subtree, move elftool to vppinfraDamjan Marion2-2/+2
Change-Id: I26b29a0f53f81a28cbf264f5299f9a3978735574 Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-08Initial commit of vpp code.v1.0.0Ed Warnicke2-0/+80
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17 Signed-off-by: Ed Warnicke <eaw@cisco.com>