aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2018-03-14 10:56:01 +0000
committerLuca Boccassi <luca.boccassi@gmail.com>2018-03-14 12:53:29 +0000
commitb430e3d2b64ce29c5515be7813e338f50dd22354 (patch)
tree5f7c83126128a18d8f52e6fb674aeafa4347626f
parenta2086e9026a2748de0baf330ac6b372bde79bacf (diff)
Backport patches to fix arm64 build
Change-Id: I077b87c4d7662d58d43853e8a814295e1e23a507 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
-rw-r--r--debian/patches/dpdk-dev-app-testpmd-fix-DPAA-shared-library-dependency.patch41
-rw-r--r--debian/patches/dpdk-dev-mk-fix-dependencies-of-dpaaX-drivers.patch171
-rw-r--r--debian/patches/series2
3 files changed, 214 insertions, 0 deletions
diff --git a/debian/patches/dpdk-dev-app-testpmd-fix-DPAA-shared-library-dependency.patch b/debian/patches/dpdk-dev-app-testpmd-fix-DPAA-shared-library-dependency.patch
new file mode 100644
index 00000000..04112df8
--- /dev/null
+++ b/debian/patches/dpdk-dev-app-testpmd-fix-DPAA-shared-library-dependency.patch
@@ -0,0 +1,41 @@
+Description: app/testpmd: fix DPAA shared library dependency
+ The dynamic link is broken for ARM platform because the dependencies
+ of the DPAA PMD are not declared.
+Author: Luca Boccassi <bluca@debian.org>
+Original-Author: Hemant Agrawal <hemant.agrawal@nxp.com>
+Origin: upstream, 3fcdd125463c89bdd94fb7eca7d024bfd3cf2a99
+Last-Update: 2018-03-14
+--- a/app/test-pmd/Makefile
++++ b/app/test-pmd/Makefile
+@@ -44,8 +44,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
+ LDLIBS += -lrte_pmd_bond
+ endif
+
+-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y)
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
+ LDLIBS += -lrte_pmd_dpaa
++LDLIBS += -lrte_bus_dpaa
++LDLIBS += -lrte_mempool_dpaa
+ endif
+
+ ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
+--- a/app/test-pmd/cmdline.c
++++ b/app/test-pmd/cmdline.c
+@@ -60,7 +60,7 @@
+ #include <rte_eth_bond.h>
+ #include <rte_eth_bond_8023ad.h>
+ #endif
+-#ifdef RTE_LIBRTE_DPAA_PMD
++#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD
+ #include <rte_pmd_dpaa.h>
+ #endif
+ #ifdef RTE_LIBRTE_IXGBE_PMD
+@@ -12861,7 +12861,7 @@ cmd_set_tx_loopback_parsed(
+ if (ret == -ENOTSUP)
+ ret = rte_pmd_bnxt_set_tx_loopback(res->port_id, is_on);
+ #endif
+-#ifdef RTE_LIBRTE_DPAA_PMD
++#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD
+ if (ret == -ENOTSUP)
+ ret = rte_pmd_dpaa_set_tx_loopback(res->port_id, is_on);
+ #endif
diff --git a/debian/patches/dpdk-dev-mk-fix-dependencies-of-dpaaX-drivers.patch b/debian/patches/dpdk-dev-mk-fix-dependencies-of-dpaaX-drivers.patch
new file mode 100644
index 00000000..ce46aea1
--- /dev/null
+++ b/debian/patches/dpdk-dev-mk-fix-dependencies-of-dpaaX-drivers.patch
@@ -0,0 +1,171 @@
+Description: mk: fix dependencies of dpaaX drivers
+ This patch fixes the build dependency of various
+ dpaaX components, when the dpaa or fslmc bus is disabled,
+ or VFIO is disabled.
+Author: Luca Boccassi <bluca@debian.org>
+Original-Author: Hemant Agrawal <hemant.agrawal@nxp.com>
+Origin: upstream, 09e1e8d256b0832a64af6d13bf96fcb49e1e7ded
+Last-Update: 2018-03-14
+--- a/drivers/bus/Makefile
++++ b/drivers/bus/Makefile
+@@ -4,7 +4,9 @@
+ include $(RTE_SDK)/mk/rte.vars.mk
+
+ DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
++ifeq ($(CONFIG_RTE_EAL_VFIO),y)
+ DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
++endif
+ DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
+ DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
+
+--- a/drivers/bus/fslmc/Makefile
++++ b/drivers/bus/fslmc/Makefile
+@@ -9,10 +9,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
+ #
+ LIB = librte_bus_fslmc.a
+
+-ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
+-CONFIG_RTE_LIBRTE_FSLMC_BUS = $(CONFIG_RTE_LIBRTE_DPAA2_PMD)
+-endif
+-
+ CFLAGS += -DALLOW_EXPERIMENTAL_API
+ ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT),y)
+ CFLAGS += -O0 -g
+--- a/drivers/crypto/Makefile
++++ b/drivers/crypto/Makefile
+@@ -14,7 +14,11 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) +=
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += mrvl
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
++endif
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
++endif
+
+ include $(RTE_SDK)/mk/rte.subdir.mk
+--- a/drivers/event/Makefile
++++ b/drivers/event/Makefile
+@@ -7,8 +7,12 @@ include $(RTE_SDK)/mk/rte.vars.mk
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
++endif
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
++endif
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
+
+ include $(RTE_SDK)/mk/rte.subdir.mk
+--- a/drivers/mempool/Makefile
++++ b/drivers/mempool/Makefile
+@@ -3,8 +3,12 @@
+
+ include $(RTE_SDK)/mk/rte.vars.mk
+
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+ DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
++endif
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
++endif
+ DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
+ DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
+ DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -15,8 +15,12 @@ DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
+ DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
+ DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
+ DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+ DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa
++endif
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
++endif
+ DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
+ DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
+ DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
+--- a/mk/rte.app.mk
++++ b/mk/rte.app.mk
+@@ -113,11 +113,21 @@ endif
+
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += -lrte_bus_pci
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += -lrte_bus_vdev
++_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
++ifeq ($(CONFIG_RTE_EAL_VFIO),y)
++_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc
++endif
+
+ ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
+ # plugins (link only if static libraries)
+
+ _LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += -lrte_mempool_stack
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
++_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
++endif
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
++_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2
++endif
+
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark
+@@ -128,11 +138,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe
+ ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa
+ endif
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2
++endif
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic
+@@ -204,14 +214,10 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CR
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
+-ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc
+ endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
+-
+ ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec
+ endif # CONFIG_RTE_LIBRTE_DPAA_BUS
+
+@@ -221,8 +227,13 @@ ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf
++ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event
++endif # CONFIG_RTE_LIBRTE_DPAA_BUS
++ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event
++endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
++
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event
+@@ -232,10 +243,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
+ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev
+ endif # CONFIG_RTE_LIBRTE_RAWDEV
+
+-ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc
+-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2
+-endif # CONFIG_RTE_LIBRTE_DPAA2_PMD
+
+ endif # !CONFIG_RTE_BUILD_SHARED_LIBS
+
diff --git a/debian/patches/series b/debian/patches/series
index f57c482c..6b1100f2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,4 @@
fix-vhost-user-socket-permission.patch
dpdk-dev-eal-ppc-fix-rte_smp_mb-for-a-compilation-error-with-else-clause.patch
+dpdk-dev-app-testpmd-fix-DPAA-shared-library-dependency.patch
+dpdk-dev-mk-fix-dependencies-of-dpaaX-drivers.patch