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" |
