diff options
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-dpaa/usdpaa-apps')
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)" |