From: Xiangyu Chen <xiangyu.c...@windriver.com> Signed-off-by: Xiangyu Chen <xiangyu.c...@windriver.com> --- ...1-net-gve-base-fix-build-with-Fedora.patch | 96 +++++++++++++++++++ ...0001-net-ionic-fix-build-with-Fedora.patch | 66 +++++++++++++ recipes-extended/dpdk/dpdk_23.11.1.bb | 4 +- 3 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch create mode 100644 recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch
diff --git a/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch new file mode 100644 index 0000000..d3c923c --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch @@ -0,0 +1,96 @@ +From f0d9e787747dda0715654da9f0501f54fe105868 Mon Sep 17 00:00:00 2001 +From: Joshua Washington <joshw...@google.com> +Date: Thu, 17 Oct 2024 16:42:33 -0700 +Subject: net/gve/base: fix build with Fedora Rawhide + +Currently, a number of integer types are typedef'd to their corresponding +userspace or RTE values. This can be problematic if these types are +already defined somewhere else, as it would cause type collisions. +This patch changes the typedefs to #define macros which are only defined +if the types are not defined already. + +Note: this was reported by OBS CI on 2024/10/17, when compiling DPDK +in Fedora Rawhide. + +Fixes: c9ba2caf6302 ("net/gve/base: add OS-specific implementation") +Fixes: abf1242fbb84 ("net/gve: add struct members and typedefs for DQO") +Cc: sta...@dpdk.org + +Upstream-Status: Backport from +[https://git.dpdk.org/dpdk/commit/?id=f0d9e787747dda0715654da9f0501f54fe105868] + +Reported-by: David Marchand <david.march...@redhat.com> +Signed-off-by: Joshua Washington <joshw...@google.com> +Signed-off-by: Xiangyu Chen <xiangyu.c...@windriver.com> +--- + drivers/net/gve/base/gve_osdep.h | 48 ++++++++++++++++++++++++++++++---------- + 1 file changed, 36 insertions(+), 12 deletions(-) + +(limited to 'drivers/net/gve/base/gve_osdep.h') + +diff --git a/drivers/net/gve/base/gve_osdep.h b/drivers/net/gve/base/gve_osdep.h +index c0ee0d567c..64181cebd6 100644 +--- a/drivers/net/gve/base/gve_osdep.h ++++ b/drivers/net/gve/base/gve_osdep.h +@@ -29,22 +29,46 @@ + #include <sys/utsname.h> + #endif + +-typedef uint8_t u8; +-typedef uint16_t u16; +-typedef uint32_t u32; +-typedef uint64_t u64; ++#ifndef u8 ++#define u8 uint8_t ++#endif ++#ifndef u16 ++#define u16 uint16_t ++#endif ++#ifndef u32 ++#define u32 uint32_t ++#endif ++#ifndef u64 ++#define u64 uint64_t ++#endif + +-typedef rte_be16_t __sum16; ++#ifndef __sum16 ++#define __sum16 rte_be16_t ++#endif + +-typedef rte_be16_t __be16; +-typedef rte_be32_t __be32; +-typedef rte_be64_t __be64; ++#ifndef __be16 ++#define __be16 rte_be16_t ++#endif ++#ifndef __be32 ++#define __be32 rte_be32_t ++#endif ++#ifndef __be64 ++#define __be64 rte_be64_t ++#endif + +-typedef rte_le16_t __le16; +-typedef rte_le32_t __le32; +-typedef rte_le64_t __le64; ++#ifndef __le16 ++#define __le16 rte_le16_t ++#endif ++#ifndef __le32 ++#define __le32 rte_le32_t ++#endif ++#ifndef __le64 ++#define __le64 rte_le64_t ++#endif + +-typedef rte_iova_t dma_addr_t; ++#ifndef dma_addr_t ++#define dma_addr_t rte_iova_t ++#endif + + #define ETH_MIN_MTU RTE_ETHER_MIN_MTU + #define ETH_ALEN RTE_ETHER_ADDR_LEN +-- +cgit v1.2.3 + diff --git a/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch new file mode 100644 index 0000000..4f8e8b5 --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch @@ -0,0 +1,66 @@ +From 45d48356e552d661885e1c29613891c11cd8ff4a Mon Sep 17 00:00:00 2001 +From: Timothy Redaelli <tredae...@redhat.com> +Date: Thu, 24 Oct 2024 11:30:06 +0200 +Subject: net/ionic: fix build with Fedora Rawhide + +Currently, a number of integer types are typedef'd to their corresponding +userspace or RTE values. This can be problematic if these types are +already defined somewhere else, as it would cause type collisions. +This patch changes the typedefs to #define macros which are only defined +if the types are not defined already. + +Fixes: 5ef518098ec6 ("net/ionic: register and initialize adapter") + +Upstream-Status: Backport +[https://git.dpdk.org/dpdk-stable/patch/?id=45d48356e552d661885e1c29613891c11cd8ff4a] + +Signed-off-by: Timothy Redaelli <tredae...@redhat.com> +Signed-off-by: Xiangyu Chen <xiangyu.c...@windriver.com> +--- + drivers/net/ionic/ionic_osdep.h | 30 ++++++++++++++++++++++-------- + 1 file changed, 22 insertions(+), 8 deletions(-) + +diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h +index 68f767b920..97188dfd59 100644 +--- a/drivers/net/ionic/ionic_osdep.h ++++ b/drivers/net/ionic/ionic_osdep.h +@@ -30,14 +30,28 @@ + + #define __iomem + +-typedef uint8_t u8; +-typedef uint16_t u16; +-typedef uint32_t u32; +-typedef uint64_t u64; +- +-typedef uint16_t __le16; +-typedef uint32_t __le32; +-typedef uint64_t __le64; ++#ifndef u8 ++#define u8 uint8_t ++#endif ++#ifndef u16 ++#define u16 uint16_t ++#endif ++#ifndef u32 ++#define u32 uint32_t ++#endif ++#ifndef u64 ++#define u64 uint64_t ++#endif ++ ++#ifndef __le16 ++#define __le16 rte_le16_t ++#endif ++#ifndef __le32 ++#define __le32 rte_le32_t ++#endif ++#ifndef __le64 ++#define __le64 rte_le64_t ++#endif + + #define ioread8(reg) rte_read8(reg) + #define ioread32(reg) rte_read32(rte_le_to_cpu_32(reg)) +-- +cgit v1.2.3 + diff --git a/recipes-extended/dpdk/dpdk_23.11.1.bb b/recipes-extended/dpdk/dpdk_23.11.1.bb index e7a0a23..b505d55 100644 --- a/recipes-extended/dpdk/dpdk_23.11.1.bb +++ b/recipes-extended/dpdk/dpdk_23.11.1.bb @@ -1,6 +1,8 @@ include dpdk.inc -SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch " +SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch \ + file://0001-net-ionic-fix-build-with-Fedora.patch \ + file://0001-net-gve-base-fix-build-with-Fedora.patch" STABLE = "-stable" BRANCH = "23.11" -- 2.47.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#8483): https://lists.yoctoproject.org/g/meta-intel/message/8483 Mute This Topic: https://lists.yoctoproject.org/mt/111099372/21656 Group Owner: meta-intel+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-