aboutsummaryrefslogtreecommitdiffstats
path: root/build-data/packages
diff options
context:
space:
mode:
authorChristophe Fontaine <christophe.fontaine@qosmos.com>2016-04-09 12:38:49 +0900
committerDave Barach <openvpp@barachs.net>2016-04-18 13:20:57 +0000
commitfef15b4bb88c61248393b93d13b1f79bb628def0 (patch)
tree0f34cc14987dde62a32201101c29b24b023fd36b /build-data/packages
parent7a2a378d2dcdba900651b02859b686cafe6dfd22 (diff)
Add support for AArch32
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>
Diffstat (limited to 'build-data/packages')
-rw-r--r--build-data/packages/vnet.mk8
-rw-r--r--build-data/packages/vpp.mk8
2 files changed, 12 insertions, 4 deletions
diff --git a/build-data/packages/vnet.mk b/build-data/packages/vnet.mk
index 46d3c1d42dc..cafb93933bd 100644
--- a/build-data/packages/vnet.mk
+++ b/build-data/packages/vnet.mk
@@ -6,14 +6,12 @@ vnet_configure_depend = \
vnet_CPPFLAGS = $(call installed_includes_fn, \
vppinfra \
- openssl \
svm \
vlib \
vlib-api)
vnet_LDFLAGS = $(call installed_libs_fn, \
vppinfra \
- openssl \
svm \
vlib \
vlib-api)
@@ -25,6 +23,12 @@ endif
# Platform dependent configure flags
vnet_configure_args += $(vnet_configure_args_$(PLATFORM))
+# include & link with openssl only if needed
+ifneq ($($(PLATFORM)_uses_openssl),no)
+vnet_CPPFLAGS += $(call installed_includes_fn, openssl)
+vnet_LDFLAGS += $(call installed_libs_fn, openssl)
+endif
+
ifneq ($($(PLATFORM)_uses_dpdk),no)
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
vnet_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)
diff --git a/build-data/packages/vpp.mk b/build-data/packages/vpp.mk
index f96235f4f0c..be10e17d200 100644
--- a/build-data/packages/vpp.mk
+++ b/build-data/packages/vpp.mk
@@ -18,7 +18,6 @@ vpp_configure_args += $(vpp_configure_args_$(PLATFORM))
vpp_CPPFLAGS = $(call installed_includes_fn, \
vppinfra \
- openssl \
svm \
vlib \
vlib-api \
@@ -26,12 +25,17 @@ vpp_CPPFLAGS = $(call installed_includes_fn, \
vpp_LDFLAGS = $(call installed_libs_fn, \
vppinfra \
- openssl \
svm \
vlib \
vlib-api \
vnet)
+# include & link with openssl only if needed
+ifneq ($($(PLATFORM)_uses_openssl),no)
+vpp_CPPFLAGS += $(call installed_includes_fn, openssl)
+vpp_LDFLAGS += $(call installed_libs_fn, openssl)
+endif
+
ifneq ($($(PLATFORM)_uses_dpdk),no)
ifeq ($($(PLATFORM)_uses_external_dpdk),yes)
vpp_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir)