All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] dpdk/dpdk-extras/ovs-dpdk: add recipe
@ 2017-03-17  7:51 Chunrong Guo
  2017-03-17  7:51 ` [PATCH 2/8] ppfe-firmware: " Chunrong Guo
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Chunrong Guo @ 2017-03-17  7:51 UTC (permalink / raw)
  To: meta-freescale; +Cc: chunrong.guo

From: Chunrong Guo <chunrong.guo@nxp.com>

---
 recipes-extended/dpdk/dpdk-extras_git.bb           | 27 +++++++
 ...ys-sysmacros.h-for-major-minor-defintions.patch | 38 ++++++++++
 .../add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch | 51 +++++++++++++
 recipes-extended/dpdk/dpdk_16.07.bb                | 85 ++++++++++++++++++++++
 recipes-extended/ovs-dpdk/ovs-dpdk_0.1.bb          | 49 +++++++++++++
 5 files changed, 250 insertions(+)
 create mode 100644 recipes-extended/dpdk/dpdk-extras_git.bb
 create mode 100644 recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
 create mode 100644 recipes-extended/dpdk/dpdk/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
 create mode 100644 recipes-extended/dpdk/dpdk_16.07.bb
 create mode 100644 recipes-extended/ovs-dpdk/ovs-dpdk_0.1.bb

diff --git a/recipes-extended/dpdk/dpdk-extras_git.bb b/recipes-extended/dpdk/dpdk-extras_git.bb
new file mode 100644
index 0000000..a18c467
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-extras_git.bb
@@ -0,0 +1,27 @@
+DESCRIPTION = "Data Plane Development Kit Extended utilities"
+HOMEPAGE = "http://dpdk.org"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
+
+RDEPENDS_${PN} = "dpdk"
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/dpdk-extras.git;nobranch=1"
+SRCREV = "ebc515aad0605ad90d8ade5c1fde60d8da86973f"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa2"
+DPAA_VER_fsl-lsch2 = "dpaa"
+
+do_install() {
+    install -d ${D}/${bindir}/dpdk-example/extras
+
+    for file_suffix in xml sh; do
+        if [ "`ls ${S}/${DPAA_VER}/*.${file_suffix}`" != "" ]; then
+            install -m 755 ${S}/${DPAA_VER}/*.${file_suffix} ${D}/${bindir}/dpdk-example/extras
+        fi
+    done
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a)"
diff --git a/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch b/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
new file mode 100644
index 0000000..c894044
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
@@ -0,0 +1,38 @@
+Subject: [PATCH] include <sys/sysmacros.h> for major/minor defintions
+
+glibc 2.25 is warning about it if applications depend on
+sys/types.h for these macros, it expects to be included
+from <sys/sysmacros.h>
+
+Fixes
+| Grow.c:3534:13: error: In the GNU C Library, "minor" is defined
+|  by <sys/sysmacros.h>. For historical compatibility, it is
+|  currently defined by <sys/types.h> as well, but we plan to
+|  remove this soon. To use "minor", include <sys/sysmacros.h>
+|  directly. If you did not intend to use a system-defined macro
+|  "minor", you should undefine it after including <sys/types.h>. [-Werror]
+| Query.c: In function 'Query':
+| Query.c:105:13: error: In the GNU C Library, "makedev" is defined
+|  by <sys/sysmacros.h>. For historical compatibility, it is
+|  currently defined by <sys/types.h> as well, but we plan to
+|  remove this soon. To use "makedev", include <sys/sysmacros.h>
+|  directly. If you did not intend to use a system-defined macro
+|  "makedev", you should undefine it after including <sys/types.h>. [-Werror]
+|           makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev)
+|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
+---
+Upstream-Status: Pending
+
+
+--- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.cold	2017-02-27 17:36:15.984931159 +0800
++++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c	2017-02-27 17:36:57.520929721 +0800
+@@ -39,6 +39,7 @@
+ #include <sys/stat.h>
+ #include <sys/mman.h>
+ #include <linux/pci_regs.h>
++#include <sys/sysmacros.h>
+ 
+ #if defined(RTE_ARCH_X86)
+ #include <sys/io.h>
diff --git a/recipes-extended/dpdk/dpdk/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch b/recipes-extended/dpdk/dpdk/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
new file mode 100644
index 0000000..4657f07
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
@@ -0,0 +1,51 @@
+From 6c8d348190a8cf6c35111913cbf117ca98137e84 Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Fri, 18 Dec 2015 18:30:47 +0800
+Subject: [PATCH] dpdk v2.2.0: add RTE_KERNELDIR_OUT to split kernel build
+ artifact
+
+Introduce RTE_KERNELDIR_OUT to be the path to which kernel build
+artifacts are located. This is for matching the workflow change
+since Yocto Project v1.8 onwards whereby tmp/work-shared contains
+separate directories for kernel source and kernel artifacts.
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+---
+ mk/rte.module.mk | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/mk/rte.module.mk b/mk/rte.module.mk
+index 53ed4fe..b7a014b 100644
+--- a/mk/rte.module.mk
++++ b/mk/rte.module.mk
+@@ -77,7 +77,7 @@ build: _postbuild
+ # build module
+ $(MODULE).ko: $(SRCS_LINKS)
+ 	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
+-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
++	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
+ 		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
+ 
+ # install module in $(RTE_OUTPUT)/kmod
+@@ -88,7 +88,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
+ 
+ # install module
+ modules_install:
+-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
++	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
+ 		modules_install
+ 
+ .PHONY: clean
+@@ -98,7 +98,7 @@ clean: _postclean
+ .PHONY: doclean
+ doclean:
+ 	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
+-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
++	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean
+ 	@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
+ 		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
+ 	@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
+-- 
+1.9.1
diff --git a/recipes-extended/dpdk/dpdk_16.07.bb b/recipes-extended/dpdk/dpdk_16.07.bb
new file mode 100644
index 0000000..380ec39
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_16.07.bb
@@ -0,0 +1,85 @@
+DESCRIPTION = "Data Plane Development Kit"
+HOMEPAGE = "http://dpdk.org"
+LICENSE = "BSD & LGPLv2 & GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
+
+DEPENDS += "virtual/kernel openssl"
+RDEPENDS_${PN} = "bash python"
+RDEPENDS_${PN}-examples = "bash python-core"
+
+inherit module
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/dpdk.git;nobranch=1 \
+    file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
+    file://a.patch \
+"
+SRCREV = "34b69f9ab1af11db43df2d616be1c1f20feef70b"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa2"
+DPAA_VER_fsl-lsch2 = "dpaa"
+export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
+
+EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
+    CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
+    OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
+    RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
+'
+
+do_configure[noexec] = "1"
+
+do_compile[depends] += "virtual/kernel:do_shared_workdir"
+do_compile() {
+    oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}" config
+}
+
+do_install() {
+    unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
+
+    oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" T="${RTE_TARGET}" DESTDIR="${D}" install
+
+    # Build and install the DPDK examples
+    for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni; do
+        oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C ${APP}
+
+        [ ! -d ${D}/${bindir}/dpdk-example ] && install -d 0644 ${D}/${bindir}/dpdk-example
+        install -m 0755 ${S}/examples/`basename ${APP}`/build/`basename ${APP}` \
+            ${D}/${bindir}/dpdk-example/
+    done
+    install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${bindir}/dpdk-example/
+    rm -fr ${D}/lib/modules/*
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/dpdk
+    install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/dpdk/
+
+    sed -i 's#/bin/echo#/bin/bash#' ${D}/${datadir}/scripts/load-devel-config.sh
+   # rm ${S}/${RTE_TARGET}/app/dpdk-pmdinfogen
+    rm ${D}/${datadir}/${RTE_TARGET}/app/dpdk-pmdinfogen
+
+    chown root:root -R ${D}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES += "${PN}-examples"
+
+FILES_${PN} += "${datadir}/tools /usr/bin/* /usr/sbin/*"
+FILES_${PN}-dbg += "${bindir}/dpdk-example/.debug \
+    ${datadir}/examples/kni/build/.debug \
+    ${datadir}/examples/kni/build/app/.debug \
+    ${datadir}/examples/l2fwd/build/.debug \
+    ${datadir}/examples/l2fwd/build/app/.debug \
+    ${datadir}/examples/l2fwd-crypto/build/.debug \
+    ${datadir}/examples/l2fwd-crypto/build/app/.debug \
+    ${datadir}/examples/l3fwd/build/.debug \
+    ${datadir}/examples/l3fwd/build/app/.debug \
+    ${datadir}/examples/ipsec-secgw/build/.debug \
+    ${datadir}/examples/ipsec-secgw/build/app/.debug \
+"
+FILES_${PN}-dev += "${datadir}/mk ${datadir}/scripts \
+    ${datadir}/${RTE_TARGET} \
+    ${includedir} \
+"
+FILES_${PN}-examples += "${datadir}/examples"
+
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a)"
diff --git a/recipes-extended/ovs-dpdk/ovs-dpdk_0.1.bb b/recipes-extended/ovs-dpdk/ovs-dpdk_0.1.bb
new file mode 100644
index 0000000..472ac16
--- /dev/null
+++ b/recipes-extended/ovs-dpdk/ovs-dpdk_0.1.bb
@@ -0,0 +1,49 @@
+DESCRIPTION = "OVS DPDK"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=17b2c9d4c70853a09c0e143137754b35"
+
+DEPENDS = "dpdk python-six-native"
+RDEPENDS_${PN} = "bash libcrypto libssl python"
+
+inherit pythonnative
+
+SRC_URI = "git://git.freescale.com/ppc/sdk/ovs-dpdk.git;nobranch=1"
+SRCREV = "84599fad4a10597fb4377174abdeb84b871cb4b0"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa2"
+DPAA_VER_fsl-lsch2 = "dpaa"
+export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
+
+EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
+    CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
+    OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
+    RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
+'
+
+do_configure() {
+	export SYSROOT_DPDK=${PKG_CONFIG_SYSROOT_DIR}
+	${S}/boot.sh
+	${S}/configure --host aarch64-fsl-linux --with-dpdk=${SYSROOT_DPDK}/usr/share/${RTE_TARGET} --with-openssl=${SYSROOT_DPDK}/usr CFLAGS="-g -Wno-cast-align -Ofast" 
+}
+
+do_compile() {
+	oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}" 
+}
+
+do_install() {
+	install -d ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/ovsdb/ovsdb-tool ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/ovsdb/ovsdb-server ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/vswitchd/vswitch.ovsschema ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/vswitchd/ovs-vswitchd ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/utilities/ovs-vsctl ${D}${bindir}/ovs-dpdk
+	cp -rf  ${S}/utilities/ovs-ofctl ${D}${bindir}/ovs-dpdk
+	chmod 777 -R ${D}${bindir}/ovs-dpdk/*
+}
+
+ALLOW_EMPTY_${PN} = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a)"
-- 
1.9.0



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-03-17  8:06 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-17  7:51 [PATCH 1/8] dpdk/dpdk-extras/ovs-dpdk: add recipe Chunrong Guo
2017-03-17  7:51 ` [PATCH 2/8] ppfe-firmware: " Chunrong Guo
2017-03-17  7:51 ` [PATCH 3/8] qemu-qoriq: upgrade to v2.6.2+ Chunrong Guo
2017-03-17  7:51 ` [PATCH 4/8] usdpaa: update to 7dd9b4e Chunrong Guo
2017-03-17  7:51 ` [PATCH 5/8] linux-qoriq: update to b14540e Chunrong Guo
2017-03-17  7:51 ` [PATCH 6/8] rcw: update to 7bd43d9 Chunrong Guo
2017-03-17  7:51 ` [PATCH 7/8] ls2-rcw: update to 83a7a66 Chunrong Guo
2017-03-17  7:51 ` [PATCH 8/8] ls2-rcw: fix host-user-contaminated QA warning Chunrong Guo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.