diff options
3 files changed, 163 insertions, 1 deletions
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..05efc3f --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch | |||
@@ -0,0 +1,95 @@ | |||
1 | From f0d9e787747dda0715654da9f0501f54fe105868 Mon Sep 17 00:00:00 2001 | ||
2 | From: Joshua Washington <joshwash@google.com> | ||
3 | Date: Thu, 17 Oct 2024 16:42:33 -0700 | ||
4 | Subject: net/gve/base: fix build with Fedora Rawhide | ||
5 | |||
6 | Currently, a number of integer types are typedef'd to their corresponding | ||
7 | userspace or RTE values. This can be problematic if these types are | ||
8 | already defined somewhere else, as it would cause type collisions. | ||
9 | This patch changes the typedefs to #define macros which are only defined | ||
10 | if the types are not defined already. | ||
11 | |||
12 | Note: this was reported by OBS CI on 2024/10/17, when compiling DPDK | ||
13 | in Fedora Rawhide. | ||
14 | |||
15 | Fixes: c9ba2caf6302 ("net/gve/base: add OS-specific implementation") | ||
16 | Fixes: abf1242fbb84 ("net/gve: add struct members and typedefs for DQO") | ||
17 | Cc: stable@dpdk.org | ||
18 | |||
19 | Upstream-Status: Backport [https://git.dpdk.org/dpdk/commit/?id=f0d9e787747dda0715654da9f0501f54fe105868] | ||
20 | |||
21 | Reported-by: David Marchand <david.marchand@redhat.com> | ||
22 | Signed-off-by: Joshua Washington <joshwash@google.com> | ||
23 | Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> | ||
24 | --- | ||
25 | drivers/net/gve/base/gve_osdep.h | 48 ++++++++++++++++++++++++++++++---------- | ||
26 | 1 file changed, 36 insertions(+), 12 deletions(-) | ||
27 | |||
28 | (limited to 'drivers/net/gve/base/gve_osdep.h') | ||
29 | |||
30 | diff --git a/drivers/net/gve/base/gve_osdep.h b/drivers/net/gve/base/gve_osdep.h | ||
31 | index c0ee0d567c..64181cebd6 100644 | ||
32 | --- a/drivers/net/gve/base/gve_osdep.h | ||
33 | +++ b/drivers/net/gve/base/gve_osdep.h | ||
34 | @@ -29,22 +29,46 @@ | ||
35 | #include <sys/utsname.h> | ||
36 | #endif | ||
37 | |||
38 | -typedef uint8_t u8; | ||
39 | -typedef uint16_t u16; | ||
40 | -typedef uint32_t u32; | ||
41 | -typedef uint64_t u64; | ||
42 | +#ifndef u8 | ||
43 | +#define u8 uint8_t | ||
44 | +#endif | ||
45 | +#ifndef u16 | ||
46 | +#define u16 uint16_t | ||
47 | +#endif | ||
48 | +#ifndef u32 | ||
49 | +#define u32 uint32_t | ||
50 | +#endif | ||
51 | +#ifndef u64 | ||
52 | +#define u64 uint64_t | ||
53 | +#endif | ||
54 | |||
55 | -typedef rte_be16_t __sum16; | ||
56 | +#ifndef __sum16 | ||
57 | +#define __sum16 rte_be16_t | ||
58 | +#endif | ||
59 | |||
60 | -typedef rte_be16_t __be16; | ||
61 | -typedef rte_be32_t __be32; | ||
62 | -typedef rte_be64_t __be64; | ||
63 | +#ifndef __be16 | ||
64 | +#define __be16 rte_be16_t | ||
65 | +#endif | ||
66 | +#ifndef __be32 | ||
67 | +#define __be32 rte_be32_t | ||
68 | +#endif | ||
69 | +#ifndef __be64 | ||
70 | +#define __be64 rte_be64_t | ||
71 | +#endif | ||
72 | |||
73 | -typedef rte_le16_t __le16; | ||
74 | -typedef rte_le32_t __le32; | ||
75 | -typedef rte_le64_t __le64; | ||
76 | +#ifndef __le16 | ||
77 | +#define __le16 rte_le16_t | ||
78 | +#endif | ||
79 | +#ifndef __le32 | ||
80 | +#define __le32 rte_le32_t | ||
81 | +#endif | ||
82 | +#ifndef __le64 | ||
83 | +#define __le64 rte_le64_t | ||
84 | +#endif | ||
85 | |||
86 | -typedef rte_iova_t dma_addr_t; | ||
87 | +#ifndef dma_addr_t | ||
88 | +#define dma_addr_t rte_iova_t | ||
89 | +#endif | ||
90 | |||
91 | #define ETH_MIN_MTU RTE_ETHER_MIN_MTU | ||
92 | #define ETH_ALEN RTE_ETHER_ADDR_LEN | ||
93 | -- | ||
94 | cgit v1.2.3 | ||
95 | |||
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..ce9a762 --- /dev/null +++ b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | From 45d48356e552d661885e1c29613891c11cd8ff4a Mon Sep 17 00:00:00 2001 | ||
2 | From: Timothy Redaelli <tredaelli@redhat.com> | ||
3 | Date: Thu, 24 Oct 2024 11:30:06 +0200 | ||
4 | Subject: net/ionic: fix build with Fedora Rawhide | ||
5 | |||
6 | Currently, a number of integer types are typedef'd to their corresponding | ||
7 | userspace or RTE values. This can be problematic if these types are | ||
8 | already defined somewhere else, as it would cause type collisions. | ||
9 | This patch changes the typedefs to #define macros which are only defined | ||
10 | if the types are not defined already. | ||
11 | |||
12 | Fixes: 5ef518098ec6 ("net/ionic: register and initialize adapter") | ||
13 | |||
14 | Upstream-Status: Backport [https://git.dpdk.org/dpdk-stable/patch/?id=45d48356e552d661885e1c29613891c11cd8ff4a] | ||
15 | |||
16 | Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> | ||
17 | Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> | ||
18 | --- | ||
19 | drivers/net/ionic/ionic_osdep.h | 30 ++++++++++++++++++++++-------- | ||
20 | 1 file changed, 22 insertions(+), 8 deletions(-) | ||
21 | |||
22 | diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h | ||
23 | index 68f767b920..97188dfd59 100644 | ||
24 | --- a/drivers/net/ionic/ionic_osdep.h | ||
25 | +++ b/drivers/net/ionic/ionic_osdep.h | ||
26 | @@ -30,14 +30,28 @@ | ||
27 | |||
28 | #define __iomem | ||
29 | |||
30 | -typedef uint8_t u8; | ||
31 | -typedef uint16_t u16; | ||
32 | -typedef uint32_t u32; | ||
33 | -typedef uint64_t u64; | ||
34 | - | ||
35 | -typedef uint16_t __le16; | ||
36 | -typedef uint32_t __le32; | ||
37 | -typedef uint64_t __le64; | ||
38 | +#ifndef u8 | ||
39 | +#define u8 uint8_t | ||
40 | +#endif | ||
41 | +#ifndef u16 | ||
42 | +#define u16 uint16_t | ||
43 | +#endif | ||
44 | +#ifndef u32 | ||
45 | +#define u32 uint32_t | ||
46 | +#endif | ||
47 | +#ifndef u64 | ||
48 | +#define u64 uint64_t | ||
49 | +#endif | ||
50 | + | ||
51 | +#ifndef __le16 | ||
52 | +#define __le16 rte_le16_t | ||
53 | +#endif | ||
54 | +#ifndef __le32 | ||
55 | +#define __le32 rte_le32_t | ||
56 | +#endif | ||
57 | +#ifndef __le64 | ||
58 | +#define __le64 rte_le64_t | ||
59 | +#endif | ||
60 | |||
61 | #define ioread8(reg) rte_read8(reg) | ||
62 | #define ioread32(reg) rte_read32(rte_le_to_cpu_32(reg)) | ||
63 | -- | ||
64 | cgit v1.2.3 | ||
65 | |||
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 @@ | |||
1 | include dpdk.inc | 1 | include dpdk.inc |
2 | 2 | ||
3 | SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch " | 3 | SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch \ |
4 | file://0001-net-ionic-fix-build-with-Fedora.patch \ | ||
5 | file://0001-net-gve-base-fix-build-with-Fedora.patch" | ||
4 | 6 | ||
5 | STABLE = "-stable" | 7 | STABLE = "-stable" |
6 | BRANCH = "23.11" | 8 | BRANCH = "23.11" |