aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArsalan H. Awan <Arsalan_Awan@mentor.com>2019-05-22 16:18:55 +0500
committerArsalan H. Awan <Arsalan_Awan@mentor.com>2019-05-22 16:18:55 +0500
commit1b579500f9aae4355734d5799e79fea04f44d4ac (patch)
treebf3307edfcb355416a4e0259d5fc04e9f79dfff4
parent5880e2bec3fb945e3a0a9baa8b1bb49e3f274b09 (diff)
downloadmeta-amd-1b579500f9aae4355734d5799e79fea04f44d4ac.tar.gz
meta-amd-1b579500f9aae4355734d5799e79fea04f44d4ac.tar.bz2
meta-amd-1b579500f9aae4355734d5799e79fea04f44d4ac.zip
common/dpdk: add DPDK v18.11.1 LTS recipe
This adds the latest stable release v18.11.1 LTS recipe of DPDK which is based on meta-dpdk (thud) -> recipes-extended/dpdk/dpdk.inc Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
-rw-r--r--common/dpdk/recipes-extended/dpdk/dpdk_18.11.1.bb28
-rw-r--r--common/dpdk/recipes-extended/dpdk/files/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch50
-rw-r--r--common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-add-sysroot-option-within-app-makefile.patch30
-rw-r--r--common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch43
-rw-r--r--common/dpdk/recipes-extended/dpdk/files/dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch33
5 files changed, 184 insertions, 0 deletions
diff --git a/common/dpdk/recipes-extended/dpdk/dpdk_18.11.1.bb b/common/dpdk/recipes-extended/dpdk/dpdk_18.11.1.bb
new file mode 100644
index 00000000..dcab7ac5
--- /dev/null
+++ b/common/dpdk/recipes-extended/dpdk/dpdk_18.11.1.bb
@@ -0,0 +1,28 @@
+require recipes-extended/dpdk/dpdk.inc
+
+DEPENDS += "openssl"
+
+STABLE = "-stable"
+BRANCH = "18.11"
+SRCREV = "16ece46735c9b70b7033ca7ae095930e9038d9fd"
+
+LICENSE = "BSD & LGPLv2 & GPLv2"
+LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \
+ file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444"
+
+# takes n or y
+BUILD_SHARED = "n"
+do_configure_prepend () {
+ # enable the AMD CCP driver
+ sed -e "s#CONFIG_RTE_LIBRTE_PMD_CCP=n#CONFIG_RTE_LIBRTE_PMD_CCP=y#" -i ${S}/config/common_base
+ sed -e "s#CONFIG_RTE_LIBRTE_PMD_CCP_CPU_AUTH=n#CONFIG_RTE_LIBRTE_PMD_CCP_CPU_AUTH=y#" -i ${S}/config/common_base
+
+ # shared libs are a more convenient way for development but then the user
+ # has to load the PMD explicitly with the -d flag so be careful
+ sed -e "s#CONFIG_RTE_BUILD_SHARED_LIB=n#CONFIG_RTE_BUILD_SHARED_LIB=${BUILD_SHARED}#" -i ${S}/config/common_base
+}
+
+COMPATIBLE_MACHINE_snowyowl = "snowyowl"
+DPDK_TARGET_MACHINE_snowyowl = "znver1"
+TUNE_FEATURES += "m64"
diff --git a/common/dpdk/recipes-extended/dpdk/files/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
new file mode 100644
index 00000000..603bd32c
--- /dev/null
+++ b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch
@@ -0,0 +1,50 @@
+From 0808b30cd00f307f182007d21a8be3a0866ccf83 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 1ada528a00b1..da0538cd5321 100644
+--- a/mk/rte.module.mk
++++ b/mk/rte.module.mk
+@@ -48,7 +48,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
+@@ -59,7 +59,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
+@@ -69,7 +69,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
diff --git a/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-add-sysroot-option-within-app-makefile.patch b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-add-sysroot-option-within-app-makefile.patch
new file mode 100644
index 00000000..18b761c7
--- /dev/null
+++ b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-add-sysroot-option-within-app-makefile.patch
@@ -0,0 +1,30 @@
+From d08d11c8b6fdfe73884d67a94d907000afd136ed Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Fri, 19 Aug 2016 11:57:49 +0800
+Subject: [PATCH] dpdk: add --sysroot option within app makefile
+
+Upstream-Status: Inappropriate [configuration]
+
+rte.app.mk has been changed to add -Wl, to all items listed
+under EXTRA_LDFLAGS. It causes --sysroot=<path> to not setup
+correctly when we depends on gcc to setup for GNU ld.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+
+---
+ mk/rte.app.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/rte.app.mk b/mk/rte.app.mk
+index 3eb41d176d21..9ab6688718db 100644
+--- a/mk/rte.app.mk
++++ b/mk/rte.app.mk
+@@ -300,7 +300,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
+ ifeq ($(LINK_USING_CC),1)
+ O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(OBJS-y) $(call linkerprefix, \
+ $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
+- $(MAPFLAGS))
++ $(MAPFLAGS)) $(SYSROOTPATH)
+ else
+ O_TO_EXE = $(LD) -o $@ $(OBJS-y) \
+ $(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
diff --git a/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch
new file mode 100644
index 00000000..41224cc7
--- /dev/null
+++ b/common/dpdk/recipes-extended/dpdk/files/dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch
@@ -0,0 +1,43 @@
+From 4a86048d44cae812b227b857772aeeb839502706 Mon Sep 17 00:00:00 2001
+From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Date: Fri, 2 Sep 2016 15:48:52 +0800
+Subject: [PATCH] dpdk: fix for parellel make issue
+
+To make sure that the path of libraries should be correct and
+libraries will be build before, And available at the time of
+linking example apps.
+
+Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
+Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
+---
+ examples/Makefile | 1 +
+ examples/ethtool/ethtool-app/Makefile | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/examples/Makefile b/examples/Makefile
+index 33fe0e586..1a3966f9e 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -14,6 +14,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += bbdev_app
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
+ DIRS-y += cmdline
+ DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
++DEPDIRS-y += examples/ethtool/lib
+ DIRS-y += ethtool
+ DIRS-y += exception_path
+ DIRS-$(CONFIG_RTE_LIBRTE_EFD) += server_node_efd
+diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile
+index 9ecfc0b89..fb5fdc438 100644
+--- a/examples/ethtool/ethtool-app/Makefile
++++ b/examples/ethtool/ethtool-app/Makefile
+@@ -19,6 +19,7 @@ SRCS-y := main.c ethapp.c
+ CFLAGS += -O3 -pthread -I$(SRCDIR)/../lib
+ CFLAGS += $(WERROR_FLAGS)
+
++LDLIBS += -L$(ETHTOOL_LIB_PATH)/
+ LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib
+ LDLIBS += -lrte_ethtool
+
+--
+2.11.1
+
diff --git a/common/dpdk/recipes-extended/dpdk/files/dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch b/common/dpdk/recipes-extended/dpdk/files/dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch
new file mode 100644
index 00000000..f833160f
--- /dev/null
+++ b/common/dpdk/recipes-extended/dpdk/files/dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch
@@ -0,0 +1,33 @@
+From 5969582f4e15fffde31dcf3a636a8ee0ba1328a3 Mon Sep 17 00:00:00 2001
+From: "Arsalan H. Awan" <Arsalan_Awan@mentor.com>
+Date: Wed, 15 May 2019 18:01:31 +0500
+Subject: [PATCH] dpdk: fix installation warning and issue
+
+Removing mk and app/dpdk-pmdinfogen files installation since they are
+not needed as a part of image.
+
+Signed-off-by: Arsalan H. Awan <Arsalan_Awan@mentor.com>
+---
+ mk/rte.sdkinstall.mk | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
+index 2d34b4e5a..468261503 100644
+--- a/mk/rte.sdkinstall.mk
++++ b/mk/rte.sdkinstall.mk
+@@ -127,11 +127,9 @@ install-sdk:
+ $(Q)tar -chf - -C $O include | \
+ tar -xf - -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS)
+ $(Q)$(call rte_mkdir, $(DESTDIR)$(sdkdir))
+- $(Q)cp $(CP_FLAGS) $(RTE_SDK)/mk $(DESTDIR)$(sdkdir)
+ $(Q)cp $(CP_FLAGS) $(RTE_SDK)/buildtools $(DESTDIR)$(sdkdir)
+- $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)/app)
++ $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir))
+ $(Q)cp $(CP_FLAGS) $O/.config $(DESTDIR)$(targetdir)
+- $(Q)cp $(CP_FLAGS) $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app
+ $(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
+ $(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib)
+
+--
+2.11.1
+