diff options
5 files changed, 451 insertions, 0 deletions
diff --git a/recipes-extended/ipxe/files/0001-build-Fix-typo-in-xenver.h-header-guard.patch b/recipes-extended/ipxe/files/0001-build-Fix-typo-in-xenver.h-header-guard.patch new file mode 100644 index 00000000..089a8143 --- /dev/null +++ b/recipes-extended/ipxe/files/0001-build-Fix-typo-in-xenver.h-header-guard.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From e4795a590e3b708008a7bbd944370aef5337c561 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Brown <mcb30@ipxe.org> | ||
3 | Date: Sun, 27 Apr 2025 17:33:28 +0100 | ||
4 | Subject: [PATCH] [build] Fix typo in xenver.h header guard | ||
5 | |||
6 | GCC 15 helpfully reports mismatched #ifdef and #define lines in header | ||
7 | guards. | ||
8 | |||
9 | Signed-off-by: Michael Brown <mcb30@ipxe.org> | ||
10 | Upstream-Status: Backport [https://github.com/ipxe/ipxe/pull/1457] | ||
11 | --- | ||
12 | src/include/ipxe/xenver.h | 2 +- | ||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/include/ipxe/xenver.h b/src/include/ipxe/xenver.h | ||
16 | index b29dfb321..5d820a6e7 100644 | ||
17 | --- a/src/include/ipxe/xenver.h | ||
18 | +++ b/src/include/ipxe/xenver.h | ||
19 | @@ -1,5 +1,5 @@ | ||
20 | #ifndef _IPXE_XENVER_H | ||
21 | -#define _IPXE_VENVER_H | ||
22 | +#define _IPXE_XENVER_H | ||
23 | |||
24 | /** @file | ||
25 | * | ||
diff --git a/recipes-extended/ipxe/files/0002-build-Fix-old-style-function-definition.patch b/recipes-extended/ipxe/files/0002-build-Fix-old-style-function-definition.patch new file mode 100644 index 00000000..7edafd0d --- /dev/null +++ b/recipes-extended/ipxe/files/0002-build-Fix-old-style-function-definition.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 0b5e26f82d3bb5dc49557b8c29d802911c050aaf Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Brown <mcb30@ipxe.org> | ||
3 | Date: Sun, 27 Apr 2025 17:36:52 +0100 | ||
4 | Subject: [PATCH] [build] Fix old-style function definition | ||
5 | |||
6 | Signed-off-by: Michael Brown <mcb30@ipxe.org> | ||
7 | Upstream-Status: Backport [https://github.com/ipxe/ipxe/pull/1457] | ||
8 | --- | ||
9 | src/drivers/net/3c595.c | 3 +-- | ||
10 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
11 | |||
12 | diff --git a/src/drivers/net/3c595.c b/src/drivers/net/3c595.c | ||
13 | index 92d38cfc5..c3442946e 100644 | ||
14 | --- a/src/drivers/net/3c595.c | ||
15 | +++ b/src/drivers/net/3c595.c | ||
16 | @@ -342,8 +342,7 @@ eeprom_rdy() | ||
17 | * before | ||
18 | */ | ||
19 | static int | ||
20 | -get_e(offset) | ||
21 | -int offset; | ||
22 | +get_e(int offset) | ||
23 | { | ||
24 | if (!eeprom_rdy()) | ||
25 | return (0xffff); | ||
diff --git a/recipes-extended/ipxe/files/0003-build-Prevent-the-use-of-reserved-words-in-C23.patch b/recipes-extended/ipxe/files/0003-build-Prevent-the-use-of-reserved-words-in-C23.patch new file mode 100644 index 00000000..fb93d96f --- /dev/null +++ b/recipes-extended/ipxe/files/0003-build-Prevent-the-use-of-reserved-words-in-C23.patch | |||
@@ -0,0 +1,103 @@ | |||
1 | From 2f39451dbab215763c09465848b89dcf41eb71be Mon Sep 17 00:00:00 2001 | ||
2 | From: Miao Wang <shankerwangmiao@gmail.com> | ||
3 | Date: Sun, 27 Apr 2025 17:30:49 +0100 | ||
4 | Subject: [PATCH] [build] Prevent the use of reserved words in C23 | ||
5 | |||
6 | GCC 15 defaults to C23, which reserves bool, true, and false as | ||
7 | keywords. Avoid using these as parameter or variable names. | ||
8 | |||
9 | Modified-by: Michael Brown <mcb30@ipxe.org> | ||
10 | Signed-off-by: Michael Brown <mcb30@ipxe.org> | ||
11 | Upstream-Status: Backport [https://github.com/ipxe/ipxe/pull/1457] | ||
12 | --- | ||
13 | .../infiniband/mlx_utils/src/public/mlx_pci_gw.c | 4 ++-- | ||
14 | src/drivers/net/igbvf/igbvf_osdep.h | 7 ++----- | ||
15 | src/interface/efi/efi_hii.c | 12 ++++++------ | ||
16 | 3 files changed, 10 insertions(+), 13 deletions(-) | ||
17 | |||
18 | diff --git a/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c b/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c | ||
19 | index 30c1e644e..0b257ed22 100644 | ||
20 | --- a/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c | ||
21 | +++ b/src/drivers/infiniband/mlx_utils/src/public/mlx_pci_gw.c | ||
22 | @@ -32,7 +32,7 @@ mlx_status | ||
23 | mlx_pci_gw_check_capability_id( | ||
24 | IN mlx_utils *utils, | ||
25 | IN mlx_uint8 cap_pointer, | ||
26 | - OUT mlx_boolean *bool | ||
27 | + OUT mlx_boolean *result | ||
28 | ) | ||
29 | { | ||
30 | mlx_status status = MLX_SUCCESS; | ||
31 | @@ -41,7 +41,7 @@ mlx_pci_gw_check_capability_id( | ||
32 | status = mlx_pci_read(utils, MlxPciWidthUint8, offset, | ||
33 | 1, &id); | ||
34 | MLX_CHECK_STATUS(utils, status, read_err,"failed to read capability id"); | ||
35 | - *bool = ( id == PCI_GW_CAPABILITY_ID ); | ||
36 | + *result = ( id == PCI_GW_CAPABILITY_ID ); | ||
37 | read_err: | ||
38 | return status; | ||
39 | } | ||
40 | diff --git a/src/drivers/net/igbvf/igbvf_osdep.h b/src/drivers/net/igbvf/igbvf_osdep.h | ||
41 | index 8ac179de0..dc65da6c1 100644 | ||
42 | --- a/src/drivers/net/igbvf/igbvf_osdep.h | ||
43 | +++ b/src/drivers/net/igbvf/igbvf_osdep.h | ||
44 | @@ -35,8 +35,9 @@ FILE_LICENCE ( GPL2_ONLY ); | ||
45 | #ifndef _IGBVF_OSDEP_H_ | ||
46 | #define _IGBVF_OSDEP_H_ | ||
47 | |||
48 | +#include <stdbool.h> | ||
49 | + | ||
50 | #define u8 unsigned char | ||
51 | -#define bool boolean_t | ||
52 | #define dma_addr_t unsigned long | ||
53 | #define __le16 uint16_t | ||
54 | #define __le32 uint32_t | ||
55 | @@ -51,10 +52,6 @@ FILE_LICENCE ( GPL2_ONLY ); | ||
56 | #define ETH_FCS_LEN 4 | ||
57 | |||
58 | typedef int spinlock_t; | ||
59 | -typedef enum { | ||
60 | - false = 0, | ||
61 | - true = 1 | ||
62 | -} boolean_t; | ||
63 | |||
64 | #define usec_delay(x) udelay(x) | ||
65 | #define msec_delay(x) mdelay(x) | ||
66 | diff --git a/src/interface/efi/efi_hii.c b/src/interface/efi/efi_hii.c | ||
67 | index 506fc8869..66f58affe 100644 | ||
68 | --- a/src/interface/efi/efi_hii.c | ||
69 | +++ b/src/interface/efi/efi_hii.c | ||
70 | @@ -147,13 +147,13 @@ void efi_ifr_end_op ( struct efi_ifr_builder *ifr ) { | ||
71 | */ | ||
72 | void efi_ifr_false_op ( struct efi_ifr_builder *ifr ) { | ||
73 | size_t dispaddr = ifr->ops_len; | ||
74 | - EFI_IFR_FALSE *false; | ||
75 | + EFI_IFR_FALSE *op; | ||
76 | |||
77 | /* Add opcode */ | ||
78 | - false = efi_ifr_op ( ifr, EFI_IFR_FALSE_OP, sizeof ( *false ) ); | ||
79 | + op = efi_ifr_op ( ifr, EFI_IFR_FALSE_OP, sizeof ( *op ) ); | ||
80 | |||
81 | DBGC ( ifr, "IFR %p false\n", ifr ); | ||
82 | - DBGC2_HDA ( ifr, dispaddr, false, sizeof ( *false ) ); | ||
83 | + DBGC2_HDA ( ifr, dispaddr, op, sizeof ( *op ) ); | ||
84 | } | ||
85 | |||
86 | /** | ||
87 | @@ -462,13 +462,13 @@ void efi_ifr_text_op ( struct efi_ifr_builder *ifr, unsigned int prompt_id, | ||
88 | */ | ||
89 | void efi_ifr_true_op ( struct efi_ifr_builder *ifr ) { | ||
90 | size_t dispaddr = ifr->ops_len; | ||
91 | - EFI_IFR_TRUE *true; | ||
92 | + EFI_IFR_TRUE *op; | ||
93 | |||
94 | /* Add opcode */ | ||
95 | - true = efi_ifr_op ( ifr, EFI_IFR_TRUE_OP, sizeof ( *true ) ); | ||
96 | + op = efi_ifr_op ( ifr, EFI_IFR_TRUE_OP, sizeof ( *op ) ); | ||
97 | |||
98 | DBGC ( ifr, "IFR %p true\n", ifr ); | ||
99 | - DBGC2_HDA ( ifr, dispaddr, true, sizeof ( *true ) ); | ||
100 | + DBGC2_HDA ( ifr, dispaddr, op, sizeof ( *op ) ); | ||
101 | } | ||
102 | |||
103 | /** | ||
diff --git a/recipes-extended/ipxe/files/0004-build-Remove-unsafe-disable-function-wrapper-from-le.patch b/recipes-extended/ipxe/files/0004-build-Remove-unsafe-disable-function-wrapper-from-le.patch new file mode 100644 index 00000000..6598882d --- /dev/null +++ b/recipes-extended/ipxe/files/0004-build-Remove-unsafe-disable-function-wrapper-from-le.patch | |||
@@ -0,0 +1,294 @@ | |||
1 | From 1de32c9e11e727fe8c4eab68b331d862cb2f03e7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Brown <mcb30@ipxe.org> | ||
3 | Date: Sun, 27 Apr 2025 17:37:44 +0100 | ||
4 | Subject: [PATCH] [build] Remove unsafe disable function wrapper from legacy | ||
5 | NIC drivers | ||
6 | |||
7 | The legacy NIC drivers do not consistently take a second parameter in | ||
8 | their disable function. We currently use an unsafe function wrapper | ||
9 | that declares no parameters, and rely on the ABI allowing a second | ||
10 | parameter to be silently ignored if not expected by the caller. As of | ||
11 | GCC 15, this hack results in an incompatible pointer type warning. | ||
12 | |||
13 | Fix by removing the hack, and instead updating all relevant legacy NIC | ||
14 | drivers to take an unused second parameter in their disable function. | ||
15 | |||
16 | Signed-off-by: Michael Brown <mcb30@ipxe.org> | ||
17 | Upstream-Status: Backport [https://github.com/ipxe/ipxe/pull/1457] | ||
18 | --- | ||
19 | src/drivers/net/3c595.c | 2 +- | ||
20 | src/drivers/net/amd8111e.c | 2 +- | ||
21 | src/drivers/net/bnx2.c | 8 +++++++- | ||
22 | src/drivers/net/davicom.c | 4 ++-- | ||
23 | src/drivers/net/depca.c | 2 +- | ||
24 | src/drivers/net/dmfe.c | 2 +- | ||
25 | src/drivers/net/epic100.c | 4 ++-- | ||
26 | src/drivers/net/ns8390.c | 2 +- | ||
27 | src/drivers/net/prism2_pci.c | 2 +- | ||
28 | src/drivers/net/prism2_plx.c | 2 +- | ||
29 | src/drivers/net/sis900.c | 4 ++-- | ||
30 | src/drivers/net/sundance.c | 2 +- | ||
31 | src/drivers/net/tlan.c | 2 +- | ||
32 | src/drivers/net/tulip.c | 4 ++-- | ||
33 | src/drivers/net/w89c840.c | 2 +- | ||
34 | src/include/nic.h | 3 +-- | ||
35 | 16 files changed, 26 insertions(+), 21 deletions(-) | ||
36 | |||
37 | diff --git a/src/drivers/net/3c595.c b/src/drivers/net/3c595.c | ||
38 | index c3442946e..fbee739a2 100644 | ||
39 | --- a/src/drivers/net/3c595.c | ||
40 | +++ b/src/drivers/net/3c595.c | ||
41 | @@ -443,7 +443,7 @@ vxsetlink(void) | ||
42 | GO_WINDOW(1); | ||
43 | } | ||
44 | |||
45 | -static void t595_disable ( struct nic *nic ) { | ||
46 | +static void t595_disable ( struct nic *nic, void *hwdev __unused ) { | ||
47 | |||
48 | t595_reset(nic); | ||
49 | |||
50 | diff --git a/src/drivers/net/amd8111e.c b/src/drivers/net/amd8111e.c | ||
51 | index 693d77d1d..5ad55eea1 100644 | ||
52 | --- a/src/drivers/net/amd8111e.c | ||
53 | +++ b/src/drivers/net/amd8111e.c | ||
54 | @@ -609,7 +609,7 @@ static int amd8111e_poll(struct nic *nic, int retrieve) | ||
55 | return pkt_ok; | ||
56 | } | ||
57 | |||
58 | -static void amd8111e_disable(struct nic *nic) | ||
59 | +static void amd8111e_disable(struct nic *nic, void *hwdev __unused) | ||
60 | { | ||
61 | struct amd8111e_priv *lp = nic->priv_data; | ||
62 | |||
63 | diff --git a/src/drivers/net/bnx2.c b/src/drivers/net/bnx2.c | ||
64 | index 4ebcc52a9..60bef7711 100644 | ||
65 | --- a/src/drivers/net/bnx2.c | ||
66 | +++ b/src/drivers/net/bnx2.c | ||
67 | @@ -2671,6 +2671,12 @@ err_out_disable: | ||
68 | return 0; | ||
69 | } | ||
70 | |||
71 | +static void | ||
72 | +bnx2_remove(struct nic *nic, void *hwdev __unused) | ||
73 | +{ | ||
74 | + bnx2_disable(nic); | ||
75 | +} | ||
76 | + | ||
77 | static struct pci_device_id bnx2_nics[] = { | ||
78 | PCI_ROM(0x14e4, 0x164a, "bnx2-5706", "Broadcom NetXtreme II BCM5706", 0), | ||
79 | PCI_ROM(0x14e4, 0x164c, "bnx2-5708", "Broadcom NetXtreme II BCM5708", 0), | ||
80 | @@ -2680,7 +2686,7 @@ static struct pci_device_id bnx2_nics[] = { | ||
81 | |||
82 | PCI_DRIVER ( bnx2_driver, bnx2_nics, PCI_NO_CLASS ); | ||
83 | |||
84 | -DRIVER ( "BNX2", nic_driver, pci_driver, bnx2_driver, bnx2_probe, bnx2_disable ); | ||
85 | +DRIVER ( "BNX2", nic_driver, pci_driver, bnx2_driver, bnx2_probe, bnx2_remove ); | ||
86 | |||
87 | /* | ||
88 | static struct pci_driver bnx2_driver __pci_driver = { | ||
89 | diff --git a/src/drivers/net/davicom.c b/src/drivers/net/davicom.c | ||
90 | index 9d3d8b915..07c994573 100644 | ||
91 | --- a/src/drivers/net/davicom.c | ||
92 | +++ b/src/drivers/net/davicom.c | ||
93 | @@ -159,7 +159,7 @@ static void davicom_reset(struct nic *nic); | ||
94 | static void davicom_transmit(struct nic *nic, const char *d, unsigned int t, | ||
95 | unsigned int s, const char *p); | ||
96 | static int davicom_poll(struct nic *nic, int retrieve); | ||
97 | -static void davicom_disable(struct nic *nic); | ||
98 | +static void davicom_disable(struct nic *nic, void *hwdev); | ||
99 | static void davicom_wait(unsigned int nticks); | ||
100 | static int phy_read(int); | ||
101 | static void phy_write(int, u16); | ||
102 | @@ -601,7 +601,7 @@ static int davicom_poll(struct nic *nic, int retrieve) | ||
103 | /*********************************************************************/ | ||
104 | /* eth_disable - Disable the interface */ | ||
105 | /*********************************************************************/ | ||
106 | -static void davicom_disable ( struct nic *nic ) { | ||
107 | +static void davicom_disable ( struct nic *nic, void *hwdev __unused ) { | ||
108 | |||
109 | whereami("davicom_disable\n"); | ||
110 | |||
111 | diff --git a/src/drivers/net/depca.c b/src/drivers/net/depca.c | ||
112 | index 016f28bb2..30e2fcb0a 100644 | ||
113 | --- a/src/drivers/net/depca.c | ||
114 | +++ b/src/drivers/net/depca.c | ||
115 | @@ -644,7 +644,7 @@ static void depca_transmit( | ||
116 | /************************************************************************** | ||
117 | DISABLE - Turn off ethernet interface | ||
118 | ***************************************************************************/ | ||
119 | -static void depca_disable ( struct nic *nic ) { | ||
120 | +static void depca_disable ( struct nic *nic, void *hwdev __unused ) { | ||
121 | depca_reset(nic); | ||
122 | |||
123 | STOP_DEPCA(nic->ioaddr); | ||
124 | diff --git a/src/drivers/net/dmfe.c b/src/drivers/net/dmfe.c | ||
125 | index 2ea0d2b2b..ea14c462f 100644 | ||
126 | --- a/src/drivers/net/dmfe.c | ||
127 | +++ b/src/drivers/net/dmfe.c | ||
128 | @@ -435,7 +435,7 @@ static void dmfe_transmit(struct nic *nic, | ||
129 | /************************************************************************** | ||
130 | DISABLE - Turn off ethernet interface | ||
131 | ***************************************************************************/ | ||
132 | -static void dmfe_disable ( struct nic *nic __unused ) { | ||
133 | +static void dmfe_disable ( struct nic *nic __unused, void *hwdev __unused ) { | ||
134 | /* Reset & stop DM910X board */ | ||
135 | outl(DM910X_RESET, BASE + DCR0); | ||
136 | udelay(5); | ||
137 | diff --git a/src/drivers/net/epic100.c b/src/drivers/net/epic100.c | ||
138 | index 8e31a3bfa..01c0c43c9 100644 | ||
139 | --- a/src/drivers/net/epic100.c | ||
140 | +++ b/src/drivers/net/epic100.c | ||
141 | @@ -51,7 +51,7 @@ struct epic_tx_desc { | ||
142 | |||
143 | static void epic100_open(void); | ||
144 | static void epic100_init_ring(void); | ||
145 | -static void epic100_disable(struct nic *nic); | ||
146 | +static void epic100_disable(struct nic *nic, void *hwdev); | ||
147 | static int epic100_poll(struct nic *nic, int retrieve); | ||
148 | static void epic100_transmit(struct nic *nic, const char *destaddr, | ||
149 | unsigned int type, unsigned int len, const char *data); | ||
150 | @@ -419,7 +419,7 @@ epic100_poll(struct nic *nic, int retrieve) | ||
151 | } | ||
152 | |||
153 | |||
154 | -static void epic100_disable ( struct nic *nic __unused ) { | ||
155 | +static void epic100_disable ( struct nic *nic __unused, void *hwdev __unused ) { | ||
156 | /* Soft reset the chip. */ | ||
157 | outl(GC_SOFT_RESET, genctl); | ||
158 | } | ||
159 | diff --git a/src/drivers/net/ns8390.c b/src/drivers/net/ns8390.c | ||
160 | index 0ffc6216b..ffd05afdb 100644 | ||
161 | --- a/src/drivers/net/ns8390.c | ||
162 | +++ b/src/drivers/net/ns8390.c | ||
163 | @@ -597,7 +597,7 @@ static int ns8390_poll(struct nic *nic, int retrieve) | ||
164 | /************************************************************************** | ||
165 | NS8390_DISABLE - Turn off adapter | ||
166 | **************************************************************************/ | ||
167 | -static void ns8390_disable ( struct nic *nic ) { | ||
168 | +static void ns8390_disable ( struct nic *nic, void *hwdev __unused ) { | ||
169 | ns8390_reset(nic); | ||
170 | } | ||
171 | |||
172 | diff --git a/src/drivers/net/prism2_pci.c b/src/drivers/net/prism2_pci.c | ||
173 | index 69ddf0fb0..b4ed0a728 100644 | ||
174 | --- a/src/drivers/net/prism2_pci.c | ||
175 | +++ b/src/drivers/net/prism2_pci.c | ||
176 | @@ -44,7 +44,7 @@ static int prism2_pci_probe ( struct nic *nic, struct pci_device *pci ) { | ||
177 | return prism2_probe ( nic, hw ); | ||
178 | } | ||
179 | |||
180 | -static void prism2_pci_disable ( struct nic *nic ) { | ||
181 | +static void prism2_pci_disable ( struct nic *nic, void *hwdev __unused ) { | ||
182 | prism2_disable ( nic ); | ||
183 | } | ||
184 | |||
185 | diff --git a/src/drivers/net/prism2_plx.c b/src/drivers/net/prism2_plx.c | ||
186 | index a73b0e087..b1c466de9 100644 | ||
187 | --- a/src/drivers/net/prism2_plx.c | ||
188 | +++ b/src/drivers/net/prism2_plx.c | ||
189 | @@ -99,7 +99,7 @@ static int prism2_plx_probe ( struct nic *nic, struct pci_device *pci ) { | ||
190 | return prism2_probe ( nic, hw ); | ||
191 | } | ||
192 | |||
193 | -static void prism2_plx_disable ( struct nic *nic ) { | ||
194 | +static void prism2_plx_disable ( struct nic *nic, void *hwdev __unused ) { | ||
195 | prism2_disable ( nic ); | ||
196 | } | ||
197 | |||
198 | diff --git a/src/drivers/net/sis900.c b/src/drivers/net/sis900.c | ||
199 | index 8a3ac01bc..c8fd3e9b5 100644 | ||
200 | --- a/src/drivers/net/sis900.c | ||
201 | +++ b/src/drivers/net/sis900.c | ||
202 | @@ -164,7 +164,7 @@ static void sis900_transmit(struct nic *nic, const char *d, | ||
203 | unsigned int t, unsigned int s, const char *p); | ||
204 | static int sis900_poll(struct nic *nic, int retrieve); | ||
205 | |||
206 | -static void sis900_disable(struct nic *nic); | ||
207 | +static void sis900_disable(struct nic *nic, void *hwdev); | ||
208 | |||
209 | static void sis900_irq(struct nic *nic, irq_action_t action); | ||
210 | |||
211 | @@ -1238,7 +1238,7 @@ sis900_poll(struct nic *nic, int retrieve) | ||
212 | */ | ||
213 | |||
214 | static void | ||
215 | -sis900_disable ( struct nic *nic ) { | ||
216 | +sis900_disable ( struct nic *nic, void *hwdev __unused ) { | ||
217 | |||
218 | sis900_init(nic); | ||
219 | |||
220 | diff --git a/src/drivers/net/sundance.c b/src/drivers/net/sundance.c | ||
221 | index 9127fa2cd..77567a5e8 100644 | ||
222 | --- a/src/drivers/net/sundance.c | ||
223 | +++ b/src/drivers/net/sundance.c | ||
224 | @@ -536,7 +536,7 @@ static void sundance_transmit(struct nic *nic, const char *d, /* Destination */ | ||
225 | /************************************************************************** | ||
226 | DISABLE - Turn off ethernet interface | ||
227 | ***************************************************************************/ | ||
228 | -static void sundance_disable ( struct nic *nic __unused ) { | ||
229 | +static void sundance_disable ( struct nic *nic __unused, void *hwdev __unused) { | ||
230 | /* put the card in its initial state */ | ||
231 | /* This function serves 3 purposes. | ||
232 | * This disables DMA and interrupts so we don't receive | ||
233 | diff --git a/src/drivers/net/tlan.c b/src/drivers/net/tlan.c | ||
234 | index 0e85b35b6..7127c7373 100644 | ||
235 | --- a/src/drivers/net/tlan.c | ||
236 | +++ b/src/drivers/net/tlan.c | ||
237 | @@ -717,7 +717,7 @@ static void tlan_transmit(struct nic *nic, const char *d, /* Destination */ | ||
238 | /************************************************************************** | ||
239 | DISABLE - Turn off ethernet interface | ||
240 | ***************************************************************************/ | ||
241 | -static void tlan_disable ( struct nic *nic __unused ) { | ||
242 | +static void tlan_disable ( struct nic *nic __unused, void *hwdev __unused ) { | ||
243 | /* put the card in its initial state */ | ||
244 | /* This function serves 3 purposes. | ||
245 | * This disables DMA and interrupts so we don't receive | ||
246 | diff --git a/src/drivers/net/tulip.c b/src/drivers/net/tulip.c | ||
247 | index e4e6ffa87..55e9747b4 100644 | ||
248 | --- a/src/drivers/net/tulip.c | ||
249 | +++ b/src/drivers/net/tulip.c | ||
250 | @@ -494,7 +494,7 @@ static void tulip_reset(struct nic *nic); | ||
251 | static void tulip_transmit(struct nic *nic, const char *d, unsigned int t, | ||
252 | unsigned int s, const char *p); | ||
253 | static int tulip_poll(struct nic *nic, int retrieve); | ||
254 | -static void tulip_disable(struct nic *nic); | ||
255 | +static void tulip_disable(struct nic *nic, void *hwdev); | ||
256 | static void nway_start(struct nic *nic); | ||
257 | static void pnic_do_nway(struct nic *nic); | ||
258 | static void select_media(struct nic *nic, int startup); | ||
259 | @@ -1128,7 +1128,7 @@ static int tulip_poll(struct nic *nic, int retrieve) | ||
260 | /*********************************************************************/ | ||
261 | /* eth_disable - Disable the interface */ | ||
262 | /*********************************************************************/ | ||
263 | -static void tulip_disable ( struct nic *nic ) { | ||
264 | +static void tulip_disable ( struct nic *nic, void *hwdev __unused ) { | ||
265 | |||
266 | whereami("tulip_disable\n"); | ||
267 | |||
268 | diff --git a/src/drivers/net/w89c840.c b/src/drivers/net/w89c840.c | ||
269 | index 72ccf3a28..0c222214e 100644 | ||
270 | --- a/src/drivers/net/w89c840.c | ||
271 | +++ b/src/drivers/net/w89c840.c | ||
272 | @@ -579,7 +579,7 @@ static void w89c840_transmit( | ||
273 | /************************************************************************** | ||
274 | w89c840_disable - Turn off ethernet interface | ||
275 | ***************************************************************************/ | ||
276 | -static void w89c840_disable ( struct nic *nic ) { | ||
277 | +static void w89c840_disable ( struct nic *nic, void *hwdev __unused ) { | ||
278 | |||
279 | w89c840_reset(nic); | ||
280 | |||
281 | diff --git a/src/include/nic.h b/src/include/nic.h | ||
282 | index 8b06e88f4..8e928beb4 100644 | ||
283 | --- a/src/include/nic.h | ||
284 | +++ b/src/include/nic.h | ||
285 | @@ -217,8 +217,7 @@ static inline void * legacy_isa_get_drvdata ( void *hwdev ) { | ||
286 | } \ | ||
287 | static inline void \ | ||
288 | _name ## _disable ( struct nic *nic, void *hwdev ) { \ | ||
289 | - void ( * _unsafe_disable ) () = _disable; \ | ||
290 | - _unsafe_disable ( nic, hwdev ); \ | ||
291 | + _disable ( nic, hwdev ); \ | ||
292 | } \ | ||
293 | static inline int \ | ||
294 | _name ## _pci_legacy_probe ( struct pci_device *pci ) { \ | ||
diff --git a/recipes-extended/ipxe/ipxe_git.bb b/recipes-extended/ipxe/ipxe_git.bb index 08ed519a..8625919d 100644 --- a/recipes-extended/ipxe/ipxe_git.bb +++ b/recipes-extended/ipxe/ipxe_git.bb | |||
@@ -19,6 +19,10 @@ SRC_URI = " \ | |||
19 | file://ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch \ | 19 | file://ipxe-intel-Avoid-spurious-compiler-warning-on-GCC-10.patch \ |
20 | file://ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch \ | 20 | file://ipxe-golan-Add-explicit-type-casts-for-nodnic_queue_pair_.patch \ |
21 | file://build-be-explicit-about-fcommon-compiler-directive.patch \ | 21 | file://build-be-explicit-about-fcommon-compiler-directive.patch \ |
22 | file://0001-build-Fix-typo-in-xenver.h-header-guard.patch;patchdir=.. \ | ||
23 | file://0002-build-Fix-old-style-function-definition.patch;patchdir=.. \ | ||
24 | file://0003-build-Prevent-the-use-of-reserved-words-in-C23.patch;patchdir=.. \ | ||
25 | file://0004-build-Remove-unsafe-disable-function-wrapper-from-le.patch;patchdir=.. \ | ||
22 | " | 26 | " |
23 | 27 | ||
24 | FILES:${PN} = "/usr/share/firmware/*.rom" | 28 | FILES:${PN} = "/usr/share/firmware/*.rom" |