mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
Add DPDK 21.05 support for Armv7 based platforms
This commit is contained in:
parent
77181eebf9
commit
bb239072f8
52
package/network/utils/dpdk/Makefile
Normal file
52
package/network/utils/dpdk/Makefile
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
#
|
||||||
|
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME := dpdk
|
||||||
|
PKG_VERSION := 21.05
|
||||||
|
|
||||||
|
PKG_SOURCE := dpdk-$(PKG_VERSION).tar.xz
|
||||||
|
PKG_SOURCE_URL := http://static.dpdk.org/rel
|
||||||
|
PKG_MD5SUM := a78bba290b11d9717d1272cc6bfaf7c3
|
||||||
|
|
||||||
|
PKG_BUILD_DEPENDS:= meson/host ninja/host
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/host-build.mk
|
||||||
|
include ../../../feeds/packages/meson/meson.mk
|
||||||
|
include ../../../feeds/packages/ninja/ninja.mk
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_LIBC),"glibc")
|
||||||
|
PKG_CONFIG := $(PKG_BUILD_DIR)/config/arm/arm_armv7a_linux_glibc_gcc
|
||||||
|
else
|
||||||
|
PKG_CONFIG := $(PKG_BUILD_DIR)/config/arm/arm_armv7a_linux_musl_gcc
|
||||||
|
endif
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -D_GNU_SOURCE -Wno-unused-result -Wno-format-nonliteral
|
||||||
|
|
||||||
|
define Package/dpdk
|
||||||
|
SECTION := net
|
||||||
|
CATEGORY := Network
|
||||||
|
TITLE := Data Plane Development Kit (DPDK)
|
||||||
|
DEPENDS := @(arm) +librt +libpthread +libbpf +libpcap
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/dpdk/description
|
||||||
|
DPDK consists of libraries to accelerate packet processing
|
||||||
|
workloads running on a wide variety of CPU architectures.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
$(call Build/Configure/Meson) --cross-file $(PKG_CONFIG)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/dpdk/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/dpdk-testpmd $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/dpdk-proc-info $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/dpdk-test-flow-perf $(1)/usr/bin/
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,dpdk))
|
@ -0,0 +1,91 @@
|
|||||||
|
From e8fa8aa186644e797ca1df457f5bbe146e901bad Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
|
||||||
|
Date: Wed, 9 Jun 2021 14:07:10 +0530
|
||||||
|
Subject: [PATCH] Add DPDK support for Armv7
|
||||||
|
|
||||||
|
Signed-off-by: Chandrakant Sharpa <s.chandrakant@globaledgesoft.com>
|
||||||
|
---
|
||||||
|
config/arm/arm_armv7a_linux_glibc_gcc | 17 +++++++++++++++++
|
||||||
|
config/arm/arm_armv7a_linux_musl_gcc | 17 +++++++++++++++++
|
||||||
|
lib/eal/linux/eal_debug.c | 2 ++
|
||||||
|
3 files changed, 36 insertions(+)
|
||||||
|
create mode 100644 config/arm/arm_armv7a_linux_glibc_gcc
|
||||||
|
create mode 100644 config/arm/arm_armv7a_linux_musl_gcc
|
||||||
|
|
||||||
|
diff --git a/config/arm/arm_armv7a_linux_glibc_gcc b/config/arm/arm_armv7a_linux_glibc_gcc
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..5981a5b9f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/config/arm/arm_armv7a_linux_glibc_gcc
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+[binaries]
|
||||||
|
+c = 'arm-openwrt-linux-gnueabi-gcc'
|
||||||
|
+cpp = 'arm-openwrt-linux-gnueabi-cpp'
|
||||||
|
+ar = 'arm-openwrt-linux-gnueabi-ar'
|
||||||
|
+strip = 'arm-openwrt-linux-gnueabi-strip'
|
||||||
|
+pkgconfig = 'arm-openwrt-linux-gnueabi-pkg-config'
|
||||||
|
+pcap-config = ''
|
||||||
|
+
|
||||||
|
+[host_machine]
|
||||||
|
+system = 'linux'
|
||||||
|
+cpu_family = 'arm'
|
||||||
|
+cpu = 'armv7-a'
|
||||||
|
+endian = 'little'
|
||||||
|
+
|
||||||
|
+[properties]
|
||||||
|
+# Generate binaries that are portable across all Armv7 machines
|
||||||
|
+platform = 'generic'
|
||||||
|
diff --git a/config/arm/arm_armv7a_linux_musl_gcc b/config/arm/arm_armv7a_linux_musl_gcc
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..9b4a5dd1e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/config/arm/arm_armv7a_linux_musl_gcc
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+[binaries]
|
||||||
|
+c = 'arm-openwrt-linux-muslgnueabi-gcc'
|
||||||
|
+cpp = 'arm-openwrt-linux-muslgnueabi-cpp'
|
||||||
|
+ar = 'arm-openwrt-linux-muslgnueabi-ar'
|
||||||
|
+strip = 'arm-openwrt-linux-muslgnueabi-strip'
|
||||||
|
+pkgconfig = 'arm-openwrt-linux-muslgnueabi-pkg-config'
|
||||||
|
+pcap-config = ''
|
||||||
|
+
|
||||||
|
+[host_machine]
|
||||||
|
+system = 'linux'
|
||||||
|
+cpu_family = 'arm'
|
||||||
|
+cpu = 'armv7-a'
|
||||||
|
+endian = 'little'
|
||||||
|
+
|
||||||
|
+[properties]
|
||||||
|
+# Generate binaries that are portable across all Armv7 machines
|
||||||
|
+platform = 'generic'
|
||||||
|
diff --git a/lib/eal/linux/eal_debug.c b/lib/eal/linux/eal_debug.c
|
||||||
|
index 64dab4e0d..3dbf42248 100644
|
||||||
|
--- a/lib/eal/linux/eal_debug.c
|
||||||
|
+++ b/lib/eal/linux/eal_debug.c
|
||||||
|
@@ -2,9 +2,12 @@
|
||||||
|
* Copyright(c) 2010-2014 Intel Corporation
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
#ifdef RTE_BACKTRACE
|
||||||
|
#include <execinfo.h>
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
@@ -26,8 +26,10 @@ void rte_dump_stack(void)
|
||||||
|
char **symb = NULL;
|
||||||
|
int size;
|
||||||
|
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
size = backtrace(func, BACKTRACE_SIZE);
|
||||||
|
symb = backtrace_symbols(func, size);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (symb == NULL)
|
||||||
|
return;
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
Loading…
Reference in New Issue
Block a user