mirror of
git://git.yoctoproject.org/meta-dpdk.git
synced 2025-07-05 05:04:45 +02:00
dpdk/19.11: upgrade 19.11.5 -> 19.11.9
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
This commit is contained in:
parent
84709a1281
commit
6c1b9b6cfe
|
@ -1,54 +0,0 @@
|
|||
From 7e0102a6d29732b92c25ca4793d641ce6c98e95a Mon Sep 17 00:00:00 2001
|
||||
From: He Zhe <zhe.he@windriver.com>
|
||||
Date: Wed, 23 Sep 2020 11:00:03 +0800
|
||||
Subject: [PATCH] Starting from Linux 5.9 'get_user_pages_remote()' API doesn't
|
||||
get 'struct task_struct' parameter: commit 64019a2e467a ("mm/gup: remove
|
||||
task_struct pointer for all gup code")
|
||||
|
||||
The change reflected to the KNI with version check.
|
||||
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
|
||||
|
||||
Upstream-Status: Backport [https://patches.dpdk.org/patch/75577/]
|
||||
|
||||
Signed-off-by: He Zhe <zhe.he@windriver.com>
|
||||
---
|
||||
kernel/linux/kni/compat.h | 4 ++++
|
||||
kernel/linux/kni/kni_dev.h | 5 +++++
|
||||
2 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h
|
||||
index 9ee45dbf6..d515b2766 100644
|
||||
--- a/kernel/linux/kni/compat.h
|
||||
+++ b/kernel/linux/kni/compat.h
|
||||
@@ -134,3 +134,7 @@
|
||||
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE
|
||||
#define HAVE_TX_TIMEOUT_TXQUEUE
|
||||
#endif
|
||||
+
|
||||
+#if KERNEL_VERSION(5, 9, 0) > LINUX_VERSION_CODE
|
||||
+#define HAVE_TSK_IN_GUP
|
||||
+#endif
|
||||
diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h
|
||||
index ca5f92a47..c15da311b 100644
|
||||
--- a/kernel/linux/kni/kni_dev.h
|
||||
+++ b/kernel/linux/kni/kni_dev.h
|
||||
@@ -101,8 +101,13 @@ static inline phys_addr_t iova_to_phys(struct task_struct *tsk,
|
||||
offset = iova & (PAGE_SIZE - 1);
|
||||
|
||||
/* Read one page struct info */
|
||||
+#ifdef HAVE_TSK_IN_GUP
|
||||
ret = get_user_pages_remote(tsk, tsk->mm, iova, 1,
|
||||
FOLL_TOUCH, &page, NULL, NULL);
|
||||
+#else
|
||||
+ ret = get_user_pages_remote(tsk->mm, iova, 1,
|
||||
+ FOLL_TOUCH, &page, NULL, NULL);
|
||||
+#endif
|
||||
if (ret < 0)
|
||||
return 0;
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
From 33c12ac5ba5f09727c6de807e71403dd260a7bbc Mon Sep 17 00:00:00 2001
|
||||
From: Ferruh Yigit <ferruh.yigit@intel.com>
|
||||
Date: Mon, 17 May 2021 16:57:39 +0100
|
||||
Subject: [PATCH] test/table: fix build with GCC 11
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Build error:
|
||||
../app/test/test_table_tables.c: In function ‘test_table_stub’:
|
||||
../app/test/test_table_tables.c:31:9:
|
||||
warning: ‘memset’ offset [0, 31] is out of the bounds [0, 0]
|
||||
[-Warray-bounds]
|
||||
memset((uint8_t *)mbuf + sizeof(struct rte_mbuf) + 32, 0, 32); \
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
../app/test/test_table_tables.c:151:25:
|
||||
note: in expansion of macro ‘PREPARE_PACKET’
|
||||
151 | PREPARE_PACKET(mbufs[i], 0xadadadad);
|
||||
| ^~~~~~~~~~~~~~
|
||||
|
||||
'key' points to mbuf header + 32 bytes, and memset clears next 32 bytes
|
||||
of 'key', so overall there needs to be 64 bytes after mbuf header.
|
||||
Adding a mbuf size check before memset.
|
||||
|
||||
The original code has an assumption that mbuf data buffer follows mbuf
|
||||
header, this patch accepts same assumption.
|
||||
|
||||
Bugzilla ID: 677
|
||||
Fixes: 5205954791cb ("app/test: packet framework unit tests")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Upstream-Status: Backport [https://github.com/DPDK/dpdk/commit/33c12ac5ba5f09727c6de807e71403dd260a7bbc]
|
||||
|
||||
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
app/test/test_table_tables.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c
|
||||
index 1aa269f95..4ff6ab16a 100644
|
||||
--- a/app/test/test_table_tables.c
|
||||
+++ b/app/test/test_table_tables.c
|
||||
@@ -28,7 +28,8 @@ table_test table_tests[] = {
|
||||
APP_METADATA_OFFSET(0)); \
|
||||
key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \
|
||||
APP_METADATA_OFFSET(32)); \
|
||||
- memset(key, 0, 32); \
|
||||
+ if (mbuf->priv_size + mbuf->buf_len >= 64) \
|
||||
+ memset(key, 0, 32); \
|
||||
k32 = (uint32_t *) key; \
|
||||
k32[0] = (value); \
|
||||
*signature = pipeline_test_hash(key, NULL, 0, 0); \
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
From b2a1d7a4661dc78a4c070de5542bf2c201762cb2 Mon Sep 17 00:00:00 2001
|
||||
From: Yongxin Liu <yongxin.liu@windriver.com>
|
||||
Date: Mon, 23 Nov 2020 11:02:52 +0800
|
||||
Subject: [PATCH] usertools/devbind: fix binding for built-in kernel drivers
|
||||
|
||||
A driver can be loaded as a dynamic module or a built-in module.
|
||||
In commit 681a67288655 ("usertools: check if module is loaded
|
||||
before binding"), script only checks modules in /sys/module/.
|
||||
|
||||
However, for built-in kernel driver, it only shows up in /sys/module/,
|
||||
if it has a version or at least one parameter. So add check for
|
||||
modules in /lib/modules/$(uname -r)/modules.builtin.
|
||||
|
||||
Upstream-Status: Submitted [https://patches.dpdk.org/patch/84454]
|
||||
|
||||
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
|
||||
---
|
||||
usertools/dpdk-devbind.py | 13 ++++++++++++-
|
||||
1 file changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
|
||||
index b1d149876..89a0ab1c9 100755
|
||||
--- a/usertools/dpdk-devbind.py
|
||||
+++ b/usertools/dpdk-devbind.py
|
||||
@@ -8,6 +8,7 @@
|
||||
import os
|
||||
import getopt
|
||||
import subprocess
|
||||
+import platform
|
||||
from os.path import exists, abspath, dirname, basename
|
||||
|
||||
# The PCI base class for all devices
|
||||
@@ -172,7 +173,17 @@ def module_is_loaded(module):
|
||||
|
||||
loaded_modules = sysfs_mods
|
||||
|
||||
- return module in sysfs_mods
|
||||
+ # add built-in modules as loaded
|
||||
+ release = platform.uname().release
|
||||
+ filename = os.path.join("/lib/modules/", release, "modules.builtin")
|
||||
+ if os.path.exists(filename):
|
||||
+ try:
|
||||
+ with open(filename) as f:
|
||||
+ loaded_modules += [os.path.splitext(os.path.basename(mod))[0] for mod in f]
|
||||
+ except IOError:
|
||||
+ print("Warning: cannot read list of built-in kernel modules")
|
||||
+
|
||||
+ return module in loaded_modules
|
||||
|
||||
|
||||
def check_modules():
|
||||
--
|
||||
2.14.4
|
||||
|
|
@ -3,14 +3,11 @@ include dpdk.inc
|
|||
SRC_URI += " \
|
||||
file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
|
||||
file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \
|
||||
file://0001-Starting-from-Linux-5.9-get_user_pages_remote-API-do.patch \
|
||||
file://usertools-devbind-fix-binding-for-built-in-kernel-dr.patch \
|
||||
file://0001-test-table-fix-build-with-GCC-11.patch"
|
||||
|
||||
"
|
||||
|
||||
STABLE = "-stable"
|
||||
BRANCH = "19.11"
|
||||
SRCREV = "1d28832feb881d4512993791d30d695cc9c7160b"
|
||||
SRCREV = "a3d97ddaead03cb19b5160bc78e724659795aea7"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "null"
|
Loading…
Reference in New Issue
Block a user