This patch adds the support for DPDK v1.8.0 from dpdk.org.

It introduces PACKAGECONFIG options for enabling Virtualization Technology
and QuickAssiste Technology with DPDK.

There is couple of additional DPDK Makefile & config patches to enable
PACKAGECONFIG said above.

Signed-off-by: Ong Boon Leong <[email protected]>
---
 .../common/recipes-extended/dpdk/dpdk_1.8.0.bb     |   61 ++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb

diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb 
b/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb
new file mode 100644
index 0000000..7a278b6
--- /dev/null
+++ b/meta-isg/common/recipes-extended/dpdk/dpdk_1.8.0.bb
@@ -0,0 +1,61 @@
+include dpdk.inc
+
+SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-${PV}.tar.gz;name=dpdk \
+          
file://dpdk-1.8.0-examples-add-config-variable-to-enable-disable-dpdk_.patch \
+          
file://dpdk-1.8.0-dpdk-enable-build-config-VHOST-in-common_linuxapp-config.patch
 \
+          file://dpdk-1.8.0-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
+          file://dpdk-1.8.0-add-sysroot-option-within-app-makefile.patch \
+          file://dpdk-1.8.0-dpdk-defconfig-select-RTE_MACHINE-type.patch \
+          "
+
+SRC_URI[dpdk.md5sum] = "11ad8785aaa869cc87265bcb8d828f22"
+SRC_URI[dpdk.sha256sum] = 
"9f5386830bd999355182e20408f3fc2cfa0802a4497fdded8d43202feede1939"
+
+export EXAMPLES_BUILD_DIR = "${RTE_TARGET}"
+export ARCHDIR = "generic"
+
+# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat.
+# fuse is in meta-filesystems and qat is not yet upstreamed.
+# So adding mechanism to explicitly disable the use of fuse and qat.
+# To enable, uncomment the below line or include in .bbappend.
+# PACKAGECONFIG ?= " dpdk_qat vhost libvirt"
+
+PACKAGECONFIG[dpdk_qat] = ",,qat"
+PACKAGECONFIG[vhost] = ",,fuse"
+PACKAGECONFIG[libvirt] = ",,libvirt"
+
+# The list of intel Comms platforms and their target machine
+# process mapping. The supported target machine is listed under
+# dpdk/mk/machine
+def get_dpdk_target_mach(bb, d):
+    target_arch = d.getVar('MACHINE_ARCH', True)
+    multiarch_options = {
+        "mohonpeak64":    "atm",
+        "mohonpeak32":    "atm",
+        "crystalforest":  "ivb",
+        "romley":         "snd",
+        "romley-ivb":     "ivb",
+    }
+
+    if target_arch in multiarch_options :
+            return multiarch_options[target_arch]
+    return ""
+
+export CONFIG_EXAMPLE_DPDK_QAT = "${@base_contains('PACKAGECONFIG', 
'dpdk_qat', 'y', 'n', d)}"
+export CONFIG_EXAMPLE_VM_POWER_MANAGER = "${@base_contains('PACKAGECONFIG', 
'libvirt', 'y', 'n', d)}"
+export CONFIG_VHOST_ENABLED = "${@base_contains('PACKAGECONFIG', 'vhost', 'y', 
'n', d)}"
+export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}"
+export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}"
+
+do_compile_append () {
+
+       cd ${S}/examples/
+
+       ###############################################################
+       # In order to make use of dpdk.inc for example app installation
+       # without failure, override the default build directory
+       ###############################################################
+       oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR}" \
+                  EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} 
-I${STAGING_INCDIR}" \
+                  CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/"
+}
-- 
1.7.9.5

-- 
_______________________________________________
meta-intel mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-intel

Reply via email to