aboutsummaryrefslogtreecommitdiffstats
path: root/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps')
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/fix-the-inline-function-definition-with-gcc-5.x.patch80
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/xfrm_km.c-use-in6_-macros-from-glibc-instead-of-kern.patch49
-rw-r--r--dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb68
3 files changed, 197 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/fix-the-inline-function-definition-with-gcc-5.x.patch b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/fix-the-inline-function-definition-with-gcc-5.x.patch
new file mode 100644
index 00000000..9f3d22cc
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/fix-the-inline-function-definition-with-gcc-5.x.patch
@@ -0,0 +1,80 @@
+From 2b308217d2811e5d1420d7ce6e18f77a992f52e9 Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@freescale.com>
+Date: Tue, 22 Dec 2015 13:16:33 +0800
+Subject: [PATCH] fix the inline function definition with gcc 5.x
+
+There are different semantics for inline functions for gcc-5.x compared to
+previous gcc. Fix the following build error:
+| dpa_classif_demo.c:(.text+0xeae): undefined reference to `crc64_hash_function'
+| simple_crypto.c:(.text+0x5b8e): undefined reference to `get_num_of_buffers'
+| simple_crypto.c:(.text+0x5b9a): undefined reference to `get_test_mode'
+| simple_crypto.c:(.text+0x5baa): undefined reference to `get_num_of_cpus'
+| simple_crypto.c:(.text+0x5bb2): undefined reference to `requires_authentication'
+| simple_crypto.c:(.text+0x5bbe): undefined reference to `get_thread_barrier'
+
+Upstream-Status: Pending
+
+Signed-off-by: Ting Liu <ting.liu@freescale.com>
+---
+ lib/hash_table/fman_crc64_hash_func.h | 2 +-
+ src/simple_crypto/include/simple_crypto.h | 10 +++++-----
+ src/simple_proto/include/simple_proto.h | 10 +++++-----
+ 3 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/lib/hash_table/fman_crc64_hash_func.h b/lib/hash_table/fman_crc64_hash_func.h
+index 5095203..bdcf12b 100644
+--- a/lib/hash_table/fman_crc64_hash_func.h
++++ b/lib/hash_table/fman_crc64_hash_func.h
+@@ -36,7 +36,7 @@
+ #include <fsl_fman.h>
+
+ /* Hash function used by the hash table based on FMan CRC64 */
+-inline uint32_t crc64_hash_function(uint8_t *key, uint32_t size)
++static inline uint32_t crc64_hash_function(uint8_t *key, uint32_t size)
+ {
+ uint64_t hashval = 0;
+ hashval = fman_crc64_init();
+diff --git a/src/simple_crypto/include/simple_crypto.h b/src/simple_crypto/include/simple_crypto.h
+index bae3460..46ea176 100644
+--- a/src/simple_crypto/include/simple_crypto.h
++++ b/src/simple_crypto/include/simple_crypto.h
+@@ -123,10 +123,10 @@ static int validate_test_set(struct test_param crypto_info);
+ void set_crypto_cbs(struct test_cb *crypto_cb, struct test_param crypto_info);
+ inline int get_num_of_iterations(void *stuff);
+ void set_num_of_iterations(void *stuff, unsigned int itr_num);
+-inline int get_num_of_buffers(void *stuff);
+-inline enum test_mode get_test_mode(void *stuff);
+-inline uint8_t requires_authentication(void *);
+-inline long get_num_of_cpus(void);
+-inline pthread_barrier_t *get_thread_barrier(void);
++static inline int get_num_of_buffers(void *stuff);
++static inline enum test_mode get_test_mode(void *stuff);
++static inline uint8_t requires_authentication(void *);
++static inline long get_num_of_cpus(void);
++static inline pthread_barrier_t *get_thread_barrier(void);
+
+ #endif /* __SIMPLE_CRYPTO_H */
+diff --git a/src/simple_proto/include/simple_proto.h b/src/simple_proto/include/simple_proto.h
+index d413e70..ce0e842 100644
+--- a/src/simple_proto/include/simple_proto.h
++++ b/src/simple_proto/include/simple_proto.h
+@@ -83,11 +83,11 @@ struct protocol_info *(*register_protocol[])(void) = {
+ static void set_crypto_cbs(struct test_cb *crypto_cb);
+ int get_num_of_iterations(void *params);
+ void set_num_of_iterations(void *params, unsigned int itr_num);
+-inline int get_num_of_buffers(void *params);
+-inline enum test_mode get_test_mode(void *params);
+-inline uint8_t requires_authentication(void *);
+-inline long get_num_of_cpus(void);
+-inline pthread_barrier_t *get_thread_barrier(void);
++static inline int get_num_of_buffers(void *params);
++static inline enum test_mode get_test_mode(void *params);
++static inline uint8_t requires_authentication(void *);
++static inline long get_num_of_cpus(void);
++static inline pthread_barrier_t *get_thread_barrier(void);
+ int register_modules(void);
+ void unregister_modules(void);
+
+--
+1.9.2
+
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/xfrm_km.c-use-in6_-macros-from-glibc-instead-of-kern.patch b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/xfrm_km.c-use-in6_-macros-from-glibc-instead-of-kern.patch
new file mode 100644
index 00000000..c6d35f00
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps/xfrm_km.c-use-in6_-macros-from-glibc-instead-of-kern.patch
@@ -0,0 +1,49 @@
+From 1e1e8d74db98faed57a5a62788e1226801661e0e Mon Sep 17 00:00:00 2001
+From: Ting Liu <ting.liu@freescale.com>
+Date: Tue, 22 Dec 2015 23:37:49 +0800
+Subject: [PATCH] xfrm_km.c: use in6_* macros from glibc instead of kernel
+
+Both glibc and the kernel have in6_* macros definition. Use the one from glibc.
+Kernel headers will check for previous libc definitions by including
+include/linux/libc-compat.h.
+
+Fix the below build error:
+| [CC] xfrm_km.c (bin:srio_ipsec_offload)
+| In file included from .../tmp/sysroots/b4860qds-64b/usr/include/linux/xfrm.h:4:0,
+| from src/srio_ipsec_offload/xfrm_km.c:46:
+| .../usr/include/netinet/in.h:99:5: error: expected identifier before numeric constant
+| IPPROTO_HOPOPTS = 0, /* IPv6 Hop-by-Hop options. */
+| ^
+| In file included from .../tmp/sysroots/b4860qds-64b/usr/include/netinet/ip.h:24:0,
+| from src/srio_ipsec_offload/xfrm_km.c:52:
+| .../tmp/sysroots/b4860qds-64b/usr/include/netinet/in.h:209:8: error: redefinition of 'struct in6_addr'
+| struct in6_addr
+| ^
+| In file included from .../tmp/sysroots/b4860qds-64b/usr/include/linux/xfrm.h:4:0,
+| from src/srio_ipsec_offload/xfrm_km.c:46:
+| .../tmp/sysroots/b4860qds-64b/usr/include/linux/in6.h:32:8: note: originally defined here
+| struct in6_addr {
+| ^
+
+Upstream-Status: Pending
+
+Signed-off-by: Ting Liu <ting.liu@freescale.com>
+---
+ src/srio_ipsec_offload/xfrm_km.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/srio_ipsec_offload/xfrm_km.c b/src/srio_ipsec_offload/xfrm_km.c
+index df23fd1..d69aafa 100644
+--- a/src/srio_ipsec_offload/xfrm_km.c
++++ b/src/srio_ipsec_offload/xfrm_km.c
+@@ -42,6 +42,7 @@
+ #include <linux/types.h>
+ #include <sys/socket.h>
+ #include <sys/ioctl.h>
++#include <netinet/in.h>
+ #include <linux/netlink.h>
+ #include <linux/xfrm.h>
+ #include <sched.h>
+--
+1.9.2
+
diff --git a/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb
new file mode 100644
index 00000000..1a19d1e8
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps/usdpaa-apps_git.bb
@@ -0,0 +1,68 @@
+DESCRIPTION = "User-Space Data-Path Acceleration Architecture Demo Applications"
+LICENSE = "BSD & GPLv2"
+LIC_FILES_CHKSUM = "file://Makefile;endline=30;md5=d2a5d894118910d49993347f3f6e0f1e"
+
+inherit pkgconfig
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+DEPENDS = "libxml2 libedit ncurses readline fmc usdpaa dpa-offload libnl"
+DEPENDS_append_b4860qds = " ipc-ust"
+DEPENDS_append_b4420qds = " ipc-ust"
+
+RDEPENDS_${PN} = "libgcc bash"
+RDEPENDS_${PN}_append_b4860qds = " ipc-ust"
+RDEPENDS_${PN}_append_b4420qds = " ipc-ust"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/usdpaa/usdpaa-apps.git;branch=sdk-v1.9.x \
+ file://fix-the-inline-function-definition-with-gcc-5.x.patch \
+ file://xfrm_km.c-use-in6_-macros-from-glibc-instead-of-kern.patch \
+"
+SRCREV = "1d9418af04990289bec72cd43a9385690523fcdb"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = 'CC="${CC}" LD="${LD}" AR="${AR}"'
+export ARCH="${TARGET_ARCH}"
+
+SOC ?= "P4080"
+SOC_b4 = "B4860"
+SOC_t1 = "T1040"
+SOC_t2 = "T2080"
+SOC_t4 = "T4240"
+SOC_p1023rdb = "P1023"
+
+FMAN_VARIANT ?= "P4080"
+FMAN_VARIANT_b4 = "FMAN_V3H"
+FMAN_VARIANT_t1 = "FMAN_V3L"
+FMAN_VARIANT_t2 = "FMAN_V3H"
+FMAN_VARIANT_t4 = "FMAN_V3H"
+FMAN_VARIANT_p1023rdb = "P1023"
+
+do_compile_prepend () {
+ export SOC=${SOC}
+ export FMC_EXTRA_CFLAGS="-I ${STAGING_INCDIR}/fmc"
+ export FMLIB_EXTRA_CFLAGS="-I ${STAGING_INCDIR}/fmd \
+ -I ${STAGING_INCDIR}/fmd/Peripherals \
+ -I ${STAGING_INCDIR}/fmd/integrations \
+ -D${FMAN_VARIANT}"
+ export USDPAA_EXTRA_CFLAGS="-I ${STAGING_INCDIR}/usdpaa"
+ export DPAOFFLOAD_EXTRA_CFLAGS="-I ${STAGING_INCDIR}/dpa-offload"
+ export LIBNL_EXTRA_CFLAGS="-I ${STAGING_INCDIR}/libnl3"
+ export LIBNL_EXTRA_LDFLAGS="-lnl-3 -lnl-route-3"
+ export LIBXML2_CFLAGS="`pkg-config --cflags libxml-2.0`"
+ export LIBXML2_LDFLAGS="`pkg-config --libs --static libxml-2.0`"
+ export LIBEDIT_CFLAGS="`pkg-config --cflags libedit`"
+ export LIBEDIT_LDFLAGS="`pkg-config --libs --static libedit`"
+}
+
+do_install () {
+ export SOC=${SOC}
+ oe_runmake install DESTDIR=${D}
+}
+
+PARALLEL_MAKE_pn-${PN} = ""
+FILES_${PN} += "/root/SOURCE_THIS /usr/etc/"
+
+COMPATIBLE_HOST_qoriq-ppc = ".*"
+COMPATIBLE_HOST ?= "(none)"