Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

starfire: use request_firmware()

Firmware blob is big endian

Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jaswinder Singh Rajput and committed by
David S. Miller
cfc3a44c 077f849d

+175 -383
+48 -6
drivers/net/starfire.c
··· 42 42 #include <linux/mii.h> 43 43 #include <linux/if_vlan.h> 44 44 #include <linux/mm.h> 45 + #include <linux/firmware.h> 45 46 #include <asm/processor.h> /* Processor type for cache alignment. */ 46 47 #include <asm/uaccess.h> 47 48 #include <asm/io.h> 48 49 49 - #include "starfire_firmware.h" 50 50 /* 51 51 * The current frame processor firmware fails to checksum a fragment 52 52 * of length 1. If and when this is fixed, the #define below can be removed. ··· 173 173 #define skb_first_frag_len(skb) skb_headlen(skb) 174 174 #define skb_num_frags(skb) (skb_shinfo(skb)->nr_frags + 1) 175 175 176 + /* Firmware names */ 177 + #define FIRMWARE_RX "adaptec/starfire_rx.bin" 178 + #define FIRMWARE_TX "adaptec/starfire_tx.bin" 179 + 176 180 /* These identify the driver base version and may not be removed. */ 177 181 static char version[] = 178 182 KERN_INFO "starfire.c:v1.03 7/26/2000 Written by Donald Becker <becker@scyld.com>\n" ··· 186 182 MODULE_DESCRIPTION("Adaptec Starfire Ethernet driver"); 187 183 MODULE_LICENSE("GPL"); 188 184 MODULE_VERSION(DRV_VERSION); 185 + MODULE_FIRMWARE(FIRMWARE_RX); 186 + MODULE_FIRMWARE(FIRMWARE_TX); 189 187 190 188 module_param(max_interrupt_work, int, 0); 191 189 module_param(mtu, int, 0); ··· 908 902 909 903 static int netdev_open(struct net_device *dev) 910 904 { 905 + const struct firmware *fw_rx, *fw_tx; 906 + const __be32 *fw_rx_data, *fw_tx_data; 911 907 struct netdev_private *np = netdev_priv(dev); 912 908 void __iomem *ioaddr = np->base; 913 909 int i, retval; 910 + size_t tx_size, rx_size; 914 911 size_t tx_done_q_size, rx_done_q_size, tx_ring_size, rx_ring_size; 915 912 916 913 /* Do we ever need to reset the chip??? */ ··· 1049 1040 writel(ETH_P_8021Q, ioaddr + VlanType); 1050 1041 #endif /* VLAN_SUPPORT */ 1051 1042 1043 + retval = request_firmware(&fw_rx, FIRMWARE_RX, &np->pci_dev->dev); 1044 + if (retval) { 1045 + printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n", 1046 + FIRMWARE_RX); 1047 + return retval; 1048 + } 1049 + if (fw_rx->size % 4) { 1050 + printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n", 1051 + fw_rx->size, FIRMWARE_RX); 1052 + retval = -EINVAL; 1053 + goto out_rx; 1054 + } 1055 + retval = request_firmware(&fw_tx, FIRMWARE_TX, &np->pci_dev->dev); 1056 + if (retval) { 1057 + printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n", 1058 + FIRMWARE_TX); 1059 + goto out_rx; 1060 + } 1061 + if (fw_tx->size % 4) { 1062 + printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n", 1063 + fw_tx->size, FIRMWARE_TX); 1064 + retval = -EINVAL; 1065 + goto out_tx; 1066 + } 1067 + fw_rx_data = (const __be32 *)&fw_rx->data[0]; 1068 + fw_tx_data = (const __be32 *)&fw_tx->data[0]; 1069 + rx_size = fw_rx->size / 4; 1070 + tx_size = fw_tx->size / 4; 1071 + 1052 1072 /* Load Rx/Tx firmware into the frame processors */ 1053 - for (i = 0; i < FIRMWARE_RX_SIZE * 2; i++) 1054 - writel(firmware_rx[i], ioaddr + RxGfpMem + i * 4); 1055 - for (i = 0; i < FIRMWARE_TX_SIZE * 2; i++) 1056 - writel(firmware_tx[i], ioaddr + TxGfpMem + i * 4); 1073 + for (i = 0; i < rx_size; i++) 1074 + writel(be32_to_cpup(&fw_rx_data[i]), ioaddr + RxGfpMem + i * 4); 1075 + for (i = 0; i < tx_size; i++) 1076 + writel(be32_to_cpup(&fw_tx_data[i]), ioaddr + TxGfpMem + i * 4); 1057 1077 if (enable_hw_cksum) 1058 1078 /* Enable the Rx and Tx units, and the Rx/Tx frame processors. */ 1059 1079 writel(TxEnable|TxGFPEnable|RxEnable|RxGFPEnable, ioaddr + GenCtrl); ··· 1094 1056 printk(KERN_DEBUG "%s: Done netdev_open().\n", 1095 1057 dev->name); 1096 1058 1097 - return 0; 1059 + out_tx: 1060 + release_firmware(fw_tx); 1061 + out_rx: 1062 + release_firmware(fw_rx); 1063 + return retval; 1098 1064 } 1099 1065 1100 1066
-346
drivers/net/starfire_firmware.h
··· 1 - /* 2 - * Copyright 2003 Adaptec, Inc. 3 - * 4 - * Please read the following license before using the Adaptec Software 5 - * ("Program"). If you do not agree to the license terms, do not use the 6 - * Program: 7 - * 8 - * You agree to be bound by version 2 of the General Public License ("GPL") 9 - * dated June 1991, which can be found at http://www.fsf.org/licenses/gpl.html. 10 - * If the link is broken, write to Free Software Foundation, 59 Temple Place, 11 - * Boston, Massachusetts 02111-1307. 12 - * 13 - * BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND 14 - * THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE 15 - * IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE 16 - * (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR 17 - * OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR 18 - * DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 19 - * ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM. 20 - * 21 - */ 22 - 23 - static const u32 firmware_rx[] = { 24 - 0x010003dc, 0x00000000, 25 - 0x04000421, 0x00000086, 26 - 0x80000015, 0x0000180e, 27 - 0x81000015, 0x00006664, 28 - 0x1a0040ab, 0x00000b06, 29 - 0x14200011, 0x00000000, 30 - 0x14204022, 0x0000aaaa, 31 - 0x14204022, 0x00000300, 32 - 0x14204022, 0x00000000, 33 - 0x1a0040ab, 0x00000b14, 34 - 0x14200011, 0x00000000, 35 - 0x83000015, 0x00000002, 36 - 0x04000021, 0x00000000, 37 - 0x00000010, 0x00000000, 38 - 0x04000421, 0x00000087, 39 - 0x00000010, 0x00000000, 40 - 0x00000010, 0x00000000, 41 - 0x00008015, 0x00000000, 42 - 0x0000003e, 0x00000000, 43 - 0x00000010, 0x00000000, 44 - 0x82000015, 0x00004000, 45 - 0x009e8050, 0x00000000, 46 - 0x03008015, 0x00000000, 47 - 0x86008015, 0x00000000, 48 - 0x82000015, 0x00008000, 49 - 0x0100001c, 0x00000000, 50 - 0x000050a0, 0x0000010c, 51 - 0x4e20d011, 0x00006008, 52 - 0x1420d012, 0x00004008, 53 - 0x0000f090, 0x00007000, 54 - 0x0000c8b0, 0x00003000, 55 - 0x00004040, 0x00000000, 56 - 0x00108015, 0x00000000, 57 - 0x00a2c150, 0x00004000, 58 - 0x00a400b0, 0x00000014, 59 - 0x00000020, 0x00000000, 60 - 0x2500400d, 0x00002525, 61 - 0x00047220, 0x00003100, 62 - 0x00934070, 0x00000000, 63 - 0x00000020, 0x00000000, 64 - 0x00924460, 0x00000184, 65 - 0x2b20c011, 0x00000000, 66 - 0x0000c420, 0x00000540, 67 - 0x36014018, 0x0000422d, 68 - 0x14200011, 0x00000000, 69 - 0x00924460, 0x00000183, 70 - 0x3200001f, 0x00000034, 71 - 0x02ac0015, 0x00000002, 72 - 0x00a60110, 0x00000008, 73 - 0x42200011, 0x00000000, 74 - 0x00924060, 0x00000103, 75 - 0x0000001e, 0x00000000, 76 - 0x00000020, 0x00000100, 77 - 0x0000001e, 0x00000000, 78 - 0x00924460, 0x00000086, 79 - 0x00004080, 0x00000000, 80 - 0x0092c070, 0x00000000, 81 - 0x00924060, 0x00000100, 82 - 0x0000c890, 0x00005000, 83 - 0x00a6c110, 0x00000000, 84 - 0x00b0c090, 0x00000012, 85 - 0x021c0015, 0x00000000, 86 - 0x3200001f, 0x00000034, 87 - 0x00924460, 0x00000510, 88 - 0x44210011, 0x00000000, 89 - 0x42000011, 0x00000000, 90 - 0x83000015, 0x00000040, 91 - 0x00924460, 0x00000508, 92 - 0x45014018, 0x00004545, 93 - 0x00808050, 0x00000000, 94 - 0x62208012, 0x00000000, 95 - 0x82000015, 0x00000800, 96 - 0x15200011, 0x00000000, 97 - 0x00000010, 0x00000000, 98 - 0x00000010, 0x00000000, 99 - 0x00000010, 0x00000000, 100 - 0x00000010, 0x00000000, 101 - 0x00000010, 0x00000000, 102 - 0x80000015, 0x0000eea4, 103 - 0x81000015, 0x0000005f, 104 - 0x00000060, 0x00000000, 105 - 0x00004120, 0x00000000, 106 - 0x00004a00, 0x00004000, 107 - 0x00924460, 0x00000190, 108 - 0x5601401a, 0x00005956, 109 - 0x14000011, 0x00000000, 110 - 0x00934050, 0x00000018, 111 - 0x00930050, 0x00000018, 112 - 0x3601403a, 0x0000002d, 113 - 0x000643a9, 0x00000000, 114 - 0x0000c420, 0x00000140, 115 - 0x5601401a, 0x00005956, 116 - 0x14000011, 0x00000000, 117 - 0x00000010, 0x00000000, 118 - 0x00000010, 0x00000000, 119 - 0x000642a9, 0x00000000, 120 - 0x00024420, 0x00000183, 121 - 0x5601401a, 0x00005956, 122 - 0x82000015, 0x00002000, 123 - 0x15200011, 0x00000000, 124 - 0x82000015, 0x00000010, 125 - 0x15200011, 0x00000000, 126 - 0x82000015, 0x00000010, 127 - 0x15200011, 0x00000000, 128 - }; /* 104 Rx instructions */ 129 - #define FIRMWARE_RX_SIZE 104 130 - 131 - static const u32 firmware_tx[] = { 132 - 0x010003dc, 0x00000000, 133 - 0x04000421, 0x00000086, 134 - 0x80000015, 0x0000180e, 135 - 0x81000015, 0x00006664, 136 - 0x1a0040ab, 0x00000b06, 137 - 0x14200011, 0x00000000, 138 - 0x14204022, 0x0000aaaa, 139 - 0x14204022, 0x00000300, 140 - 0x14204022, 0x00000000, 141 - 0x1a0040ab, 0x00000b14, 142 - 0x14200011, 0x00000000, 143 - 0x83000015, 0x00000002, 144 - 0x04000021, 0x00000000, 145 - 0x00000010, 0x00000000, 146 - 0x04000421, 0x00000087, 147 - 0x00000010, 0x00000000, 148 - 0x00000010, 0x00000000, 149 - 0x00008015, 0x00000000, 150 - 0x0000003e, 0x00000000, 151 - 0x00000010, 0x00000000, 152 - 0x82000015, 0x00004000, 153 - 0x009e8050, 0x00000000, 154 - 0x03008015, 0x00000000, 155 - 0x86008015, 0x00000000, 156 - 0x82000015, 0x00008000, 157 - 0x0100001c, 0x00000000, 158 - 0x000050a0, 0x0000010c, 159 - 0x4e20d011, 0x00006008, 160 - 0x1420d012, 0x00004008, 161 - 0x0000f090, 0x00007000, 162 - 0x0000c8b0, 0x00003000, 163 - 0x00004040, 0x00000000, 164 - 0x00108015, 0x00000000, 165 - 0x00a2c150, 0x00004000, 166 - 0x00a400b0, 0x00000014, 167 - 0x00000020, 0x00000000, 168 - 0x2500400d, 0x00002525, 169 - 0x00047220, 0x00003100, 170 - 0x00934070, 0x00000000, 171 - 0x00000020, 0x00000000, 172 - 0x00924460, 0x00000184, 173 - 0x2b20c011, 0x00000000, 174 - 0x0000c420, 0x00000540, 175 - 0x36014018, 0x0000422d, 176 - 0x14200011, 0x00000000, 177 - 0x00924460, 0x00000183, 178 - 0x3200001f, 0x00000034, 179 - 0x02ac0015, 0x00000002, 180 - 0x00a60110, 0x00000008, 181 - 0x42200011, 0x00000000, 182 - 0x00924060, 0x00000103, 183 - 0x0000001e, 0x00000000, 184 - 0x00000020, 0x00000100, 185 - 0x0000001e, 0x00000000, 186 - 0x00924460, 0x00000086, 187 - 0x00004080, 0x00000000, 188 - 0x0092c070, 0x00000000, 189 - 0x00924060, 0x00000100, 190 - 0x0000c890, 0x00005000, 191 - 0x00a6c110, 0x00000000, 192 - 0x00b0c090, 0x00000012, 193 - 0x021c0015, 0x00000000, 194 - 0x3200001f, 0x00000034, 195 - 0x00924460, 0x00000510, 196 - 0x44210011, 0x00000000, 197 - 0x42000011, 0x00000000, 198 - 0x83000015, 0x00000040, 199 - 0x00924460, 0x00000508, 200 - 0x45014018, 0x00004545, 201 - 0x00808050, 0x00000000, 202 - 0x62208012, 0x00000000, 203 - 0x82000015, 0x00000800, 204 - 0x15200011, 0x00000000, 205 - 0x00000010, 0x00000000, 206 - 0x00000010, 0x00000000, 207 - 0x00000010, 0x00000000, 208 - 0x00000010, 0x00000000, 209 - 0x00000010, 0x00000000, 210 - 0x80000015, 0x0000eea4, 211 - 0x81000015, 0x0000005f, 212 - 0x00000060, 0x00000000, 213 - 0x00004120, 0x00000000, 214 - 0x00004a00, 0x00004000, 215 - 0x00924460, 0x00000190, 216 - 0x5601401a, 0x00005956, 217 - 0x14000011, 0x00000000, 218 - 0x00934050, 0x00000018, 219 - 0x00930050, 0x00000018, 220 - 0x3601403a, 0x0000002d, 221 - 0x000643a9, 0x00000000, 222 - 0x0000c420, 0x00000140, 223 - 0x5601401a, 0x00005956, 224 - 0x14000011, 0x00000000, 225 - 0x00000010, 0x00000000, 226 - 0x00000010, 0x00000000, 227 - 0x000642a9, 0x00000000, 228 - 0x00024420, 0x00000183, 229 - 0x5601401a, 0x00005956, 230 - 0x82000015, 0x00002000, 231 - 0x15200011, 0x00000000, 232 - 0x82000015, 0x00000010, 233 - 0x15200011, 0x00000000, 234 - 0x82000015, 0x00000010, 235 - 0x15200011, 0x00000000, 236 - }; /* 104 Tx instructions */ 237 - #define FIRMWARE_TX_SIZE 104 238 - #if 0 239 - static const u32 firmware_wol[] = { 240 - 0x010003dc, 0x00000000, 241 - 0x19000421, 0x00000087, 242 - 0x80000015, 0x00001a1a, 243 - 0x81000015, 0x00001a1a, 244 - 0x1a0040ab, 0x00000b06, 245 - 0x15200011, 0x00000000, 246 - 0x15204022, 0x0000aaaa, 247 - 0x15204022, 0x00000300, 248 - 0x15204022, 0x00000000, 249 - 0x1a0040ab, 0x00000b15, 250 - 0x15200011, 0x00000000, 251 - 0x83000015, 0x00000002, 252 - 0x04000021, 0x00000000, 253 - 0x00000010, 0x00000000, 254 - 0x04000421, 0x00000087, 255 - 0x00000010, 0x00000000, 256 - 0x00000010, 0x00000000, 257 - 0x00008015, 0x00000000, 258 - 0x0000003e, 0x00000000, 259 - 0x00000010, 0x00000000, 260 - 0x00000010, 0x00000000, 261 - 0x82000015, 0x00004000, 262 - 0x82000015, 0x00008000, 263 - 0x0000000c, 0x00000000, 264 - 0x00000010, 0x00000000, 265 - 0x00004080, 0x00000100, 266 - 0x1f20c011, 0x00001122, 267 - 0x2720f011, 0x00003011, 268 - 0x19200071, 0x00000000, 269 - 0x1a200051, 0x00000000, 270 - 0x00000010, 0x00000000, 271 - 0x00000010, 0x00000000, 272 - 0x1d2040a4, 0x00003344, 273 - 0x1d2040a2, 0x00005566, 274 - 0x000040a0, 0x00000100, 275 - 0x00108050, 0x00000001, 276 - 0x1a208012, 0x00000006, 277 - 0x82000015, 0x00008080, 278 - 0x010003dc, 0x00000000, 279 - 0x1d2040a4, 0x00002233, 280 - 0x1d2040a4, 0x00004455, 281 - 0x2d208011, 0x00000005, 282 - 0x1d2040a4, 0x00006611, 283 - 0x00108050, 0x00000001, 284 - 0x27200011, 0x00000000, 285 - 0x1d2050a4, 0x00006600, 286 - 0x82000015, 0x00008080, 287 - 0x010003dc, 0x00000000, 288 - 0x00000050, 0x00000000, 289 - 0x1b200031, 0x00000000, 290 - 0x0000001e, 0x00000000, 291 - 0x0000001e, 0x00000000, 292 - 0x0000001e, 0x00000000, 293 - 0x0000001e, 0x00000000, 294 - 0x00924460, 0x00000086, 295 - 0x00004080, 0x00000000, 296 - 0x0092c070, 0x00000000, 297 - 0x00924060, 0x00000100, 298 - 0x0000c890, 0x00005000, 299 - 0x00a6c110, 0x00000000, 300 - 0x00b0c090, 0x00000012, 301 - 0x021c0015, 0x00000000, 302 - 0x3200001f, 0x00000034, 303 - 0x00924460, 0x00000510, 304 - 0x44210011, 0x00000000, 305 - 0x42000011, 0x00000000, 306 - 0x83000015, 0x00000040, 307 - 0x00924460, 0x00000508, 308 - 0x476a0012, 0x00000100, 309 - 0x83000015, 0x00000008, 310 - 0x16200011, 0x00000000, 311 - 0x001e8050, 0x00000000, 312 - 0x001e8050, 0x00000000, 313 - 0x00808050, 0x00000000, 314 - 0x03008015, 0x00000000, 315 - 0x62208012, 0x00000000, 316 - 0x82000015, 0x00000800, 317 - 0x16200011, 0x00000000, 318 - 0x80000015, 0x0000eea4, 319 - 0x81000015, 0x0000005f, 320 - 0x00000020, 0x00000000, 321 - 0x00004120, 0x00000000, 322 - 0x00004a00, 0x00004000, 323 - 0x00924460, 0x00000190, 324 - 0x5c01401a, 0x0000595c, 325 - 0x15000011, 0x00000000, 326 - 0x00934050, 0x00000018, 327 - 0x00930050, 0x00000018, 328 - 0x3601403a, 0x0000002d, 329 - 0x00064029, 0x00000000, 330 - 0x0000c420, 0x00000140, 331 - 0x5c01401a, 0x0000595c, 332 - 0x15000011, 0x00000000, 333 - 0x00000010, 0x00000000, 334 - 0x00000010, 0x00000000, 335 - 0x00064029, 0x00000000, 336 - 0x00024420, 0x00000183, 337 - 0x5c01401a, 0x0000595c, 338 - 0x82000015, 0x00002000, 339 - 0x16200011, 0x00000000, 340 - 0x82000015, 0x00000010, 341 - 0x16200011, 0x00000000, 342 - 0x82000015, 0x00000010, 343 - 0x16200011, 0x00000000, 344 - }; /* 104 WoL instructions */ 345 - #define FIRMWARE_WOL_SIZE 104 346 - #endif
-31
drivers/net/starfire_firmware.pl
··· 1 - #!/usr/bin/perl 2 - 3 - # This script can be used to generate a new starfire_firmware.h 4 - # from GFP_RX.DAT and GFP_TX.DAT, files included with the DDK 5 - # and also with the Novell drivers. 6 - 7 - open FW, "GFP_RX.DAT" || die; 8 - open FWH, ">starfire_firmware.h" || die; 9 - 10 - printf(FWH "static u32 firmware_rx[] = {\n"); 11 - $counter = 0; 12 - while ($foo = <FW>) { 13 - chomp; 14 - printf(FWH " 0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); 15 - $counter++; 16 - } 17 - 18 - close FW; 19 - open FW, "GFP_TX.DAT" || die; 20 - 21 - printf(FWH "};\t/* %d Rx instructions */\n#define FIRMWARE_RX_SIZE %d\n\nstatic u32 firmware_tx[] = {\n", $counter, $counter); 22 - $counter = 0; 23 - while ($foo = <FW>) { 24 - chomp; 25 - printf(FWH " 0x%s, 0x0000%s,\n", substr($foo, 4, 8), substr($foo, 0, 4)); 26 - $counter++; 27 - } 28 - 29 - close FW; 30 - printf(FWH "};\t/* %d Tx instructions */\n#define FIRMWARE_TX_SIZE %d\n", $counter, $counter); 31 - close(FWH);
+2
firmware/Makefile
··· 27 27 acenic-objs := acenic/tg1.bin acenic/tg2.bin 28 28 endif 29 29 fw-shipped-$(CONFIG_ACENIC) += $(acenic-objs) 30 + fw-shipped-$(CONFIG_ADAPTEC_STARFIRE) += adaptec/starfire_rx.bin \ 31 + adaptec/starfire_tx.bin 30 32 fw-shipped-$(CONFIG_ATARI_DSP56K) += dsp56k/bootstrap.bin 31 33 fw-shipped-$(CONFIG_ATM_AMBASSADOR) += atmsar11.fw 32 34 fw-shipped-$(CONFIG_CASSINI) += sun/cassini.bin
+19
firmware/WHENCE
··· 390 390 Found in hex form in kernel source. 391 391 392 392 -------------------------------------------------------------------------- 393 + 394 + Driver: ADAPTEC_STARFIRE - Adaptec Starfire/DuraLAN support 395 + 396 + File: adaptec/starfire_rx.bin 397 + File: adaptec/starfire_tx.bin 398 + 399 + Licence: Allegedly GPLv2, but no source visible. 400 + 401 + Found in hex form in kernel source, with the following notice: 402 + 403 + BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE IT IS LICENSED "AS IS" AND 404 + THERE IS NO WARRANTY FOR THE PROGRAM, INCLUDING BUT NOT LIMITED TO THE 405 + IMPLIED WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR A PARTICULAR PURPOSE 406 + (TO THE EXTENT PERMITTED BY APPLICABLE LAW). USE OF THE PROGRAM IS AT YOUR 407 + OWN RISK. IN NO EVENT WILL ADAPTEC OR ITS LICENSORS BE LIABLE TO YOU FOR 408 + DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES 409 + ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM. 410 + 411 + --------------------------------------------------------------------------
+53
firmware/adaptec/starfire_rx.bin.ihex
··· 1 + :10000000010003DC00000000040004210000008661 2 + :10001000800000150000180E8100001500006664C5 3 + :100020001A0040AB00000B06142000110000000075 4 + :10003000142040220000AAAA14204022000003003D 5 + :1000400014204022000000001A0040AB00000B14F6 6 + :1000500014200011000000008300001500000002C1 7 + :10006000040000210000000000000010000000005B 8 + :1000700004000421000000870000001000000000C0 9 + :1000800000000010000000000000801500000000CB 10 + :100090000000003E00000000000000100000000012 11 + :1000A0008200001500004000009E8050000000000B 12 + :1000B000030080150000000086008015000000008D 13 + :1000C00082000015000080000100001C00000000FC 14 + :1000D000000050A00000010C4E20D011000060086C 15 + :1000E0001420D012000040080000F09000007000C2 16 + :1000F0000000C8B0000030000000404000000000D8 17 + :10010000001080150000000000A2C1500000400057 18 + :1001100000A400B000000014000000200000000057 19 + :100120002500400D0000252500047220000031004C 20 + :10013000009340700000000000000020000000005C 21 + :1001400000924460000001842B20C01100000000D8 22 + :100150000000C42000000540360140180000422D78 23 + :100160001420001100000000009244600000018390 24 + :100170003200001F0000003402AC00150000000235 25 + :1001800000A601100000000842200011000000003D 26 + :1001900000924060000001030000001E000000000B 27 + :1001A00000000020000001000000001E0000000010 28 + :1001B00000924460000000860000408000000000C3 29 + :1001C0000092C0700000000000924060000001003A 30 + :1001D0000000C8900000500000A6C1100000000000 31 + :1001E00000B0C09000000012021C001500000000CA 32 + :1001F0003200001F0000003400924460000005102F 33 + :100200004421001100000000420000110000000025 34 + :1002100083000015000000400092446000000508C3 35 + :100220004501401800004545008080500000000056 36 + :10023000622080120000000082000015000008000B 37 + :100240001520001100000000000000100000000058 38 + :10025000000000100000000000000010000000007E 39 + :10026000000000100000000000000010000000006E 40 + :10027000800000150000EEA4810000150000005F62 41 + :1002800000000060000000000000412000000000AD 42 + :1002900000004A000000400000924460000001900D 43 + :1002A0005601401A000059561400001100000000C9 44 + :1002B0000093405000000018009300500000001808 45 + :1002C0003601403A0000002D000643A9000000005E 46 + :1002D0000000C420000001405601401A0000595699 47 + :1002E00014000011000000000000001000000000D9 48 + :1002F0000000001000000000000642A900000000FD 49 + :1003000000024420000001835601401A00005956A3 50 + :1003100082000015000020001520001100000000E0 51 + :1003200082000015000000101520001100000000E0 52 + :1003300082000015000000101520001100000000D0 53 + :00000001FF
+53
firmware/adaptec/starfire_tx.bin.ihex
··· 1 + :10000000010003DC00000000040004210000008661 2 + :10001000800000150000180E8100001500006664C5 3 + :100020001A0040AB00000B06142000110000000075 4 + :10003000142040220000AAAA14204022000003003D 5 + :1000400014204022000000001A0040AB00000B14F6 6 + :1000500014200011000000008300001500000002C1 7 + :10006000040000210000000000000010000000005B 8 + :1000700004000421000000870000001000000000C0 9 + :1000800000000010000000000000801500000000CB 10 + :100090000000003E00000000000000100000000012 11 + :1000A0008200001500004000009E8050000000000B 12 + :1000B000030080150000000086008015000000008D 13 + :1000C00082000015000080000100001C00000000FC 14 + :1000D000000050A00000010C4E20D011000060086C 15 + :1000E0001420D012000040080000F09000007000C2 16 + :1000F0000000C8B0000030000000404000000000D8 17 + :10010000001080150000000000A2C1500000400057 18 + :1001100000A400B000000014000000200000000057 19 + :100120002500400D0000252500047220000031004C 20 + :10013000009340700000000000000020000000005C 21 + :1001400000924460000001842B20C01100000000D8 22 + :100150000000C42000000540360140180000422D78 23 + :100160001420001100000000009244600000018390 24 + :100170003200001F0000003402AC00150000000235 25 + :1001800000A601100000000842200011000000003D 26 + :1001900000924060000001030000001E000000000B 27 + :1001A00000000020000001000000001E0000000010 28 + :1001B00000924460000000860000408000000000C3 29 + :1001C0000092C0700000000000924060000001003A 30 + :1001D0000000C8900000500000A6C1100000000000 31 + :1001E00000B0C09000000012021C001500000000CA 32 + :1001F0003200001F0000003400924460000005102F 33 + :100200004421001100000000420000110000000025 34 + :1002100083000015000000400092446000000508C3 35 + :100220004501401800004545008080500000000056 36 + :10023000622080120000000082000015000008000B 37 + :100240001520001100000000000000100000000058 38 + :10025000000000100000000000000010000000007E 39 + :10026000000000100000000000000010000000006E 40 + :10027000800000150000EEA4810000150000005F62 41 + :1002800000000060000000000000412000000000AD 42 + :1002900000004A000000400000924460000001900D 43 + :1002A0005601401A000059561400001100000000C9 44 + :1002B0000093405000000018009300500000001808 45 + :1002C0003601403A0000002D000643A9000000005E 46 + :1002D0000000C420000001405601401A0000595699 47 + :1002E00014000011000000000000001000000000D9 48 + :1002F0000000001000000000000642A900000000FD 49 + :1003000000024420000001835601401A00005956A3 50 + :1003100082000015000020001520001100000000E0 51 + :1003200082000015000000101520001100000000E0 52 + :1003300082000015000000101520001100000000D0 53 + :00000001FF