From 407cf5b800fd1b8cfd0e281a3a294351e2829df3 Mon Sep 17 00:00:00 2001 From: Ong Boon Leong Date: Fri, 10 Jul 2015 21:23:48 +0800 Subject: meta-isg: dpdk: intro recipe for DPDK v1.8.0 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 Signed-off-by: Saul Wold --- .../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 (limited to 'meta-isg') 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 00000000..7a278b60 --- /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/$@/" +} -- cgit v1.2.3-54-g00ecf