summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaveen Saini <naveen.kumar.saini@intel.com>2021-04-15 18:51:35 +0800
committerAnuj Mittal <anuj.mittal@intel.com>2021-04-16 09:03:18 +0800
commit7ec861d3c931eb9a1a53722baff5ece66ccb99e6 (patch)
treee8c0359105673220b89ed59ef128d0633c6101b5
parentd4ddaf2e54b8d7ef7096208430b3f5363d849bea (diff)
downloadmeta-dpdk-7ec861d3c931eb9a1a53722baff5ece66ccb99e6.tar.gz
dpdk-module: add recipe
This recipe builds rte_kni.ko module Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-rw-r--r--recipes-extended/dpdk/dpdk-module_20.11.1.bb45
-rw-r--r--recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch74
2 files changed, 119 insertions, 0 deletions
diff --git a/recipes-extended/dpdk/dpdk-module_20.11.1.bb b/recipes-extended/dpdk/dpdk-module_20.11.1.bb
new file mode 100644
index 0000000..ac931bc
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-module_20.11.1.bb
@@ -0,0 +1,45 @@
1include dpdk.inc
2
3FILESEXTRAPATHS_prepend := "${THISDIR}/dpdk:"
4
5SRC_URI += " \
6 file://0001-Makefile-add-makefile.patch \
7"
8STABLE = "-stable"
9BRANCH = "20.11"
10SRCREV = "b1e71cf43153cca07db6cbb69fdca030ccf52234"
11S = "${WORKDIR}/git"
12
13inherit module
14
15#kernel module needs 'rte_build_config.h', which is generated at buid time
16DEPENDS += "dpdk"
17
18export S
19export STAGING_KERNEL_DIR
20export STAGING_INCDIR
21export INSTALL_MOD_DIR="dpdk"
22
23do_configure[noexec] = "1"
24
25do_compile() {
26 cd ${S}/kernel/linux/kni
27 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
28 oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
29 KERNEL_VERSION=${KERNEL_VERSION} \
30 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
31 AR="${KERNEL_AR}" \
32 O=${STAGING_KERNEL_BUILDDIR} \
33 KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \
34 ${MAKE_TARGETS}
35}
36
37do_install() {
38 cd ${S}/kernel/linux/kni
39 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
40 oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \
41 INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \
42 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
43 O=${STAGING_KERNEL_BUILDDIR} \
44 ${MODULES_INSTALL_TARGET}
45}
diff --git a/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch b/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch
new file mode 100644
index 0000000..18b75fb
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch
@@ -0,0 +1,74 @@
1From 768cef60957d5e840071d1d6514d4add3f3c2904 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Wed, 14 Apr 2021 17:25:53 +0800
4Subject: [PATCH] Makefile: add makefile
5
6Current meson build for kernel module build does not fit in Yocto.
7So added Makefile to build rte_kni.ko
8
9Upstream-Status: Inappropriate
10
11Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
12---
13 kernel/linux/kni/Kbuild | 6 ------
14 kernel/linux/kni/Makefile | 35 +++++++++++++++++++++++++++++++++++
15 2 files changed, 35 insertions(+), 6 deletions(-)
16 delete mode 100644 kernel/linux/kni/Kbuild
17 create mode 100644 kernel/linux/kni/Makefile
18
19diff --git a/kernel/linux/kni/Kbuild b/kernel/linux/kni/Kbuild
20deleted file mode 100644
21index e5452d6c00..0000000000
22--- a/kernel/linux/kni/Kbuild
23+++ /dev/null
24@@ -1,6 +0,0 @@
25-# SPDX-License-Identifier: BSD-3-Clause
26-# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
27-
28-ccflags-y := $(MODULE_CFLAGS)
29-obj-m := rte_kni.o
30-rte_kni-y := $(patsubst $(src)/%.c,%.o,$(wildcard $(src)/*.c))
31diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
32new file mode 100644
33index 0000000000..19897ee06e
34--- /dev/null
35+++ b/kernel/linux/kni/Makefile
36@@ -0,0 +1,35 @@
37+#
38+# Makefile for building rte_kni.ko
39+#
40+MODULE_CFLAGS += -include $(S)/config/rte_config.h
41+MODULE_CFLAGS += -I$(S)/lib/librte_eal/include
42+MODULE_CFLAGS += -I$(S)/lib/librte_kni
43+MODULE_CFLAGS += -I$(S)/kernel/linux/kni
44+MODULE_CFLAGS += -I$(S)
45+MODULE_CFLAGS += -I$(STAGING_INCDIR)
46+
47+rte_kni-objs = kni_misc.o kni_net.o
48+
49+ccflags-y := $(MODULE_CFLAGS)
50+cflags-y := $(MODULE_CFLAGS)
51+obj-m := rte_kni.o
52+
53+
54+KERNEL_MAKE_OPTS := -C $(STAGING_KERNEL_DIR) M=$(CURDIR)
55+ifneq ($(ARCH),)
56+KERNEL_MAKE_OPTS += ARCH=$(ARCH)
57+endif
58+ifneq ($(CROSS_COMPILE),)
59+KERNEL_MAKE_OPTS += CROSS_COMPILE=$(CROSS_COMPILE)
60+endif
61+
62+build:
63+ $(MAKE) $(KERNEL_MAKE_OPTS) modules
64+
65+install: modules_install
66+
67+modules_install:
68+ $(MAKE) $(KERNEL_MAKE_OPTS) modules_install
69+
70+clean:
71+ $(MAKE) $(KERNEL_MAKE_OPTS) clean
72--
732.17.1
74