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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to