1 /* 2 * DO NOT EDIT - This file is automatically generated 3 * from the following source files: 4 * 5 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#119 $ 6 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#76 $ 7 * 8 * $FreeBSD$ 9 */ 10 static uint8_t seqprog[] = { 11 0xff, 0x02, 0x06, 0x78, 12 0x00, 0xea, 0x6e, 0x59, 13 0x01, 0xea, 0x04, 0x30, 14 0xff, 0x04, 0x0c, 0x78, 15 0x19, 0xea, 0x6e, 0x59, 16 0x19, 0xea, 0x04, 0x00, 17 0x33, 0xea, 0x68, 0x59, 18 0x33, 0xea, 0x00, 0x00, 19 0x60, 0x3a, 0x3a, 0x68, 20 0x04, 0x4d, 0x35, 0x78, 21 0x01, 0x34, 0xc1, 0x31, 22 0x00, 0x32, 0x21, 0x60, 23 0x01, 0x35, 0xc1, 0x31, 24 0x00, 0x33, 0x21, 0x60, 25 0xfb, 0x4d, 0x9b, 0x0a, 26 0x00, 0xe2, 0x34, 0x40, 27 0x50, 0x4b, 0x3a, 0x68, 28 0xff, 0x31, 0x3b, 0x70, 29 0x02, 0x30, 0x51, 0x31, 30 0xff, 0x8d, 0x2d, 0x70, 31 0x02, 0x8c, 0x51, 0x31, 32 0xff, 0x8d, 0x29, 0x60, 33 0x02, 0x28, 0x19, 0x33, 34 0x02, 0x30, 0x51, 0x32, 35 0xff, 0xea, 0x62, 0x02, 36 0x00, 0xe2, 0x3a, 0x40, 37 0xff, 0x21, 0x3b, 0x70, 38 0x40, 0x4b, 0xb4, 0x69, 39 0x00, 0xe2, 0x72, 0x59, 40 0x40, 0x4b, 0xb4, 0x69, 41 0x20, 0x4b, 0xa0, 0x69, 42 0xfc, 0x42, 0x44, 0x78, 43 0x10, 0x40, 0x44, 0x78, 44 0x00, 0xe2, 0x10, 0x5e, 45 0x20, 0x4d, 0x48, 0x78, 46 0x00, 0xe2, 0x10, 0x5e, 47 0x30, 0x3f, 0xc0, 0x09, 48 0x30, 0xe0, 0x50, 0x60, 49 0x7f, 0x4a, 0x94, 0x08, 50 0x00, 0xe2, 0x52, 0x40, 51 0xc0, 0x4a, 0x94, 0x00, 52 0x00, 0xe2, 0x5e, 0x58, 53 0x00, 0xe2, 0x76, 0x58, 54 0x00, 0xe2, 0x86, 0x58, 55 0x00, 0xe2, 0x06, 0x40, 56 0x33, 0xea, 0x68, 0x59, 57 0x33, 0xea, 0x00, 0x00, 58 0x01, 0x52, 0x84, 0x78, 59 0x02, 0x58, 0x50, 0x31, 60 0xff, 0xea, 0x10, 0x0b, 61 0xff, 0x97, 0x6f, 0x78, 62 0x50, 0x4b, 0x6a, 0x68, 63 0xbf, 0x3a, 0x74, 0x08, 64 0x14, 0xea, 0x6e, 0x59, 65 0x14, 0xea, 0x04, 0x00, 66 0x08, 0x92, 0x25, 0x03, 67 0xff, 0x90, 0x5f, 0x68, 68 0x00, 0xe2, 0x8a, 0x5b, 69 0x00, 0xe2, 0x5e, 0x40, 70 0x00, 0xea, 0x68, 0x59, 71 0x01, 0xea, 0x00, 0x30, 72 0x80, 0xf9, 0x7e, 0x68, 73 0x00, 0xe2, 0x66, 0x59, 74 0x11, 0xea, 0x68, 0x59, 75 0x11, 0xea, 0x00, 0x00, 76 0x80, 0xf9, 0x66, 0x79, 77 0xff, 0xea, 0xd4, 0x0d, 78 0x22, 0xea, 0x68, 0x59, 79 0x22, 0xea, 0x00, 0x00, 80 0x10, 0x16, 0x90, 0x78, 81 0x10, 0x16, 0x2c, 0x00, 82 0x01, 0x0b, 0xae, 0x32, 83 0x18, 0xad, 0x1c, 0x79, 84 0x04, 0xad, 0xdc, 0x68, 85 0x80, 0xad, 0x84, 0x78, 86 0x10, 0xad, 0xaa, 0x78, 87 0xe7, 0xad, 0x5a, 0x09, 88 0x02, 0x8c, 0x59, 0x32, 89 0xff, 0x8d, 0xa1, 0x60, 90 0xff, 0xea, 0x5e, 0x02, 91 0xff, 0x88, 0xa7, 0x78, 92 0x02, 0x30, 0x19, 0x33, 93 0x02, 0xa8, 0x60, 0x36, 94 0x02, 0x28, 0x19, 0x33, 95 0x02, 0xa8, 0x50, 0x36, 96 0xe7, 0xad, 0x5a, 0x09, 97 0x00, 0xe2, 0xb8, 0x58, 98 0xff, 0xea, 0x56, 0x02, 99 0x04, 0x7c, 0x88, 0x32, 100 0x20, 0x16, 0x84, 0x78, 101 0x04, 0x40, 0x89, 0x32, 102 0x80, 0x3d, 0x7b, 0x16, 103 0xff, 0x2d, 0xc7, 0x60, 104 0xff, 0x29, 0xc7, 0x60, 105 0x40, 0x57, 0xd7, 0x78, 106 0xff, 0x55, 0xc7, 0x68, 107 0xff, 0x53, 0xc1, 0x19, 108 0x00, 0x54, 0xd5, 0x19, 109 0x00, 0xe2, 0xd6, 0x50, 110 0x01, 0x52, 0xc1, 0x31, 111 0x00, 0x56, 0xd5, 0x19, 112 0x00, 0xe2, 0xd6, 0x48, 113 0x80, 0x18, 0x84, 0x78, 114 0x02, 0x50, 0x1d, 0x30, 115 0x10, 0xea, 0x18, 0x00, 116 0x60, 0x18, 0x30, 0x00, 117 0x7f, 0x18, 0x30, 0x0c, 118 0x02, 0xea, 0x02, 0x00, 119 0xff, 0xea, 0xac, 0x0a, 120 0x80, 0x18, 0x30, 0x04, 121 0x40, 0xad, 0x84, 0x78, 122 0xe7, 0xad, 0x5a, 0x09, 123 0xff, 0xea, 0xc0, 0x09, 124 0x01, 0x54, 0xa9, 0x1a, 125 0x00, 0x55, 0xab, 0x22, 126 0x01, 0x94, 0x6d, 0x33, 127 0xff, 0xea, 0x20, 0x0b, 128 0x04, 0xac, 0x49, 0x32, 129 0xff, 0xea, 0x5a, 0x03, 130 0xff, 0xea, 0x5e, 0x03, 131 0x01, 0x10, 0xd4, 0x31, 132 0x02, 0xa8, 0x40, 0x31, 133 0x01, 0x92, 0xc1, 0x31, 134 0x3d, 0x93, 0xc5, 0x29, 135 0xfe, 0xe2, 0xc4, 0x09, 136 0x01, 0xea, 0xc6, 0x01, 137 0x02, 0xe2, 0xc8, 0x31, 138 0x02, 0xec, 0x50, 0x31, 139 0x02, 0xa0, 0xda, 0x31, 140 0xff, 0xa9, 0x10, 0x71, 141 0x10, 0xe0, 0x0e, 0x79, 142 0x10, 0x92, 0x0f, 0x79, 143 0x01, 0x4d, 0x9b, 0x02, 144 0x02, 0xa0, 0xc0, 0x32, 145 0x01, 0x93, 0xc5, 0x36, 146 0x02, 0xa0, 0x58, 0x37, 147 0xff, 0x21, 0x19, 0x71, 148 0x02, 0x22, 0x51, 0x31, 149 0x02, 0xa0, 0x5c, 0x33, 150 0x02, 0xa0, 0x44, 0x36, 151 0x02, 0xa0, 0x40, 0x32, 152 0x02, 0xa0, 0x44, 0x36, 153 0x05, 0x4d, 0x21, 0x69, 154 0x40, 0x16, 0x52, 0x69, 155 0xff, 0x2d, 0x57, 0x61, 156 0xff, 0x29, 0x85, 0x70, 157 0x02, 0x28, 0x55, 0x32, 158 0x01, 0xea, 0x5a, 0x01, 159 0x04, 0x44, 0xf9, 0x30, 160 0x01, 0x44, 0xc1, 0x31, 161 0x02, 0x28, 0x51, 0x31, 162 0x02, 0xa8, 0x60, 0x31, 163 0x01, 0xa4, 0x61, 0x31, 164 0x01, 0x3d, 0x61, 0x31, 165 0x01, 0x14, 0xd4, 0x31, 166 0x01, 0x56, 0xad, 0x1a, 167 0xff, 0x54, 0xa9, 0x1a, 168 0xff, 0x55, 0xab, 0x22, 169 0xff, 0x8d, 0x4b, 0x71, 170 0x80, 0xac, 0x4a, 0x71, 171 0x20, 0x16, 0x4a, 0x69, 172 0x00, 0xac, 0xc4, 0x19, 173 0x07, 0xe2, 0x4a, 0xf9, 174 0x02, 0x8c, 0x51, 0x31, 175 0x00, 0xe2, 0x2e, 0x41, 176 0x01, 0xac, 0x08, 0x31, 177 0x09, 0xea, 0x5a, 0x01, 178 0x02, 0x8c, 0x51, 0x32, 179 0xff, 0xea, 0x1a, 0x07, 180 0x04, 0x24, 0xf9, 0x30, 181 0x1d, 0xea, 0x5c, 0x41, 182 0x02, 0x2c, 0x51, 0x31, 183 0x04, 0xa8, 0xf9, 0x30, 184 0x19, 0xea, 0x5c, 0x41, 185 0x06, 0xea, 0x08, 0x81, 186 0x01, 0xe2, 0x5a, 0x35, 187 0x02, 0xf2, 0xf0, 0x31, 188 0xff, 0xea, 0xd4, 0x0d, 189 0x02, 0xf2, 0xf0, 0x31, 190 0x02, 0xf8, 0xe4, 0x35, 191 0x80, 0xea, 0xb2, 0x01, 192 0x01, 0xe2, 0x00, 0x30, 193 0xff, 0xea, 0xb2, 0x0d, 194 0x01, 0xe2, 0x04, 0x30, 195 0x01, 0xea, 0x04, 0x34, 196 0x02, 0x20, 0xbd, 0x30, 197 0x02, 0x20, 0xb9, 0x30, 198 0x02, 0x20, 0x51, 0x31, 199 0x4c, 0x93, 0xd7, 0x28, 200 0x10, 0x92, 0x81, 0x79, 201 0x01, 0x6b, 0xc0, 0x30, 202 0x02, 0x64, 0xc8, 0x00, 203 0x40, 0x3a, 0x74, 0x04, 204 0x00, 0xe2, 0x76, 0x58, 205 0x33, 0xea, 0x68, 0x59, 206 0x33, 0xea, 0x00, 0x00, 207 0x30, 0x3f, 0xc0, 0x09, 208 0x30, 0xe0, 0x82, 0x61, 209 0x20, 0x3f, 0x98, 0x69, 210 0x10, 0x3f, 0x82, 0x79, 211 0x02, 0xea, 0x7e, 0x00, 212 0x00, 0xea, 0x68, 0x59, 213 0x01, 0xea, 0x00, 0x30, 214 0x02, 0x4e, 0x51, 0x35, 215 0x01, 0xea, 0x7e, 0x00, 216 0x11, 0xea, 0x68, 0x59, 217 0x11, 0xea, 0x00, 0x00, 218 0x02, 0x4e, 0x51, 0x35, 219 0xc0, 0x4a, 0x94, 0x00, 220 0x04, 0x41, 0xa6, 0x79, 221 0x08, 0xea, 0x98, 0x00, 222 0x08, 0x57, 0xae, 0x00, 223 0x08, 0x3c, 0x78, 0x00, 224 0xf0, 0x49, 0x74, 0x0a, 225 0x0f, 0x67, 0xc0, 0x09, 226 0x00, 0x3a, 0x75, 0x02, 227 0x20, 0xea, 0x96, 0x00, 228 0x00, 0xe2, 0x28, 0x42, 229 0xc0, 0x4a, 0x94, 0x00, 230 0x40, 0x3a, 0xd2, 0x69, 231 0x02, 0x55, 0x06, 0x68, 232 0x02, 0x56, 0xd2, 0x69, 233 0xff, 0x5b, 0xd2, 0x61, 234 0x02, 0x20, 0x51, 0x31, 235 0x80, 0xea, 0xb2, 0x01, 236 0x44, 0xea, 0x00, 0x00, 237 0x01, 0x33, 0xc0, 0x31, 238 0x33, 0xea, 0x00, 0x00, 239 0xff, 0xea, 0xb2, 0x09, 240 0xff, 0xe0, 0xc0, 0x19, 241 0xff, 0xe0, 0xd4, 0x79, 242 0x02, 0xac, 0x51, 0x31, 243 0x00, 0xe2, 0xca, 0x41, 244 0x02, 0x5e, 0x50, 0x31, 245 0x02, 0xa8, 0xb8, 0x30, 246 0x02, 0x5c, 0x50, 0x31, 247 0xff, 0xad, 0xe5, 0x71, 248 0x02, 0xac, 0x41, 0x31, 249 0x02, 0x22, 0x51, 0x31, 250 0x02, 0xa0, 0x5c, 0x33, 251 0x02, 0xa0, 0x44, 0x32, 252 0x00, 0xe2, 0xf8, 0x41, 253 0x01, 0x4d, 0xf1, 0x79, 254 0x01, 0x62, 0xc1, 0x31, 255 0x00, 0x93, 0xf1, 0x61, 256 0xfe, 0x4d, 0x9b, 0x0a, 257 0x02, 0x60, 0x41, 0x31, 258 0x00, 0xe2, 0xdc, 0x41, 259 0x3d, 0x93, 0xc9, 0x29, 260 0x01, 0xe4, 0xc8, 0x01, 261 0x01, 0xea, 0xca, 0x01, 262 0xff, 0xea, 0xda, 0x01, 263 0x02, 0x20, 0x51, 0x31, 264 0x02, 0xae, 0x41, 0x32, 265 0xff, 0x21, 0x01, 0x62, 266 0xff, 0xea, 0x46, 0x02, 267 0x02, 0x5c, 0x50, 0x31, 268 0x40, 0xea, 0x96, 0x00, 269 0x02, 0x56, 0x20, 0x6e, 270 0x01, 0x55, 0x20, 0x6e, 271 0x10, 0x92, 0x0d, 0x7a, 272 0x10, 0x40, 0x16, 0x6a, 273 0x01, 0x56, 0x16, 0x7a, 274 0xff, 0x97, 0x07, 0x78, 275 0x13, 0xea, 0x6e, 0x59, 276 0x13, 0xea, 0x04, 0x00, 277 0x00, 0xe2, 0x06, 0x40, 278 0xbf, 0x3a, 0x74, 0x08, 279 0x04, 0x41, 0x1c, 0x7a, 280 0x08, 0xea, 0x98, 0x00, 281 0x08, 0x57, 0xae, 0x00, 282 0x01, 0x93, 0x75, 0x32, 283 0x01, 0x94, 0x77, 0x32, 284 0x40, 0xea, 0x72, 0x02, 285 0x08, 0x3c, 0x78, 0x00, 286 0x80, 0xea, 0x6e, 0x02, 287 0x00, 0xe2, 0xf6, 0x5b, 288 0x01, 0x3c, 0xc1, 0x31, 289 0x9f, 0xe0, 0x98, 0x7c, 290 0x80, 0xe0, 0x3c, 0x72, 291 0xa0, 0xe0, 0x78, 0x72, 292 0xc0, 0xe0, 0x6e, 0x72, 293 0xe0, 0xe0, 0xa8, 0x72, 294 0x01, 0xea, 0x6e, 0x59, 295 0x01, 0xea, 0x04, 0x00, 296 0x00, 0xe2, 0x28, 0x42, 297 0x80, 0x39, 0x43, 0x7a, 298 0x03, 0xea, 0x6e, 0x59, 299 0x03, 0xea, 0x04, 0x00, 300 0xee, 0x00, 0x4a, 0x6a, 301 0x05, 0xea, 0xb4, 0x00, 302 0x33, 0xea, 0x68, 0x59, 303 0x33, 0xea, 0x00, 0x00, 304 0x02, 0xa8, 0x9c, 0x32, 305 0x00, 0xe2, 0x88, 0x59, 306 0xef, 0x96, 0xd5, 0x19, 307 0x00, 0xe2, 0x5a, 0x52, 308 0x09, 0x80, 0xe1, 0x30, 309 0x02, 0xea, 0x36, 0x00, 310 0xa8, 0xea, 0x32, 0x00, 311 0x00, 0xe2, 0x60, 0x42, 312 0x01, 0x96, 0xd1, 0x30, 313 0x10, 0x80, 0x89, 0x31, 314 0x20, 0xea, 0x32, 0x00, 315 0xbf, 0x39, 0x73, 0x0a, 316 0x10, 0x4c, 0x6a, 0x6a, 317 0x20, 0x19, 0x62, 0x6a, 318 0x20, 0x19, 0x66, 0x6a, 319 0x02, 0x4d, 0x28, 0x6a, 320 0x40, 0x39, 0x73, 0x02, 321 0x00, 0xe2, 0x28, 0x42, 322 0x80, 0x39, 0xe9, 0x6a, 323 0x01, 0x44, 0x10, 0x33, 324 0x08, 0x92, 0x25, 0x03, 325 0x00, 0xe2, 0x28, 0x42, 326 0x10, 0xea, 0x80, 0x00, 327 0x01, 0x37, 0xc5, 0x31, 328 0x80, 0xe2, 0x94, 0x62, 329 0x10, 0x92, 0xb9, 0x6a, 330 0xc0, 0x94, 0xc5, 0x01, 331 0x40, 0x92, 0x85, 0x6a, 332 0xbf, 0xe2, 0xc4, 0x09, 333 0x20, 0x92, 0x99, 0x7a, 334 0x01, 0xe2, 0x88, 0x30, 335 0x00, 0xe2, 0xf6, 0x5b, 336 0xa0, 0x3c, 0xa1, 0x62, 337 0x23, 0x92, 0x89, 0x08, 338 0x00, 0xe2, 0xf6, 0x5b, 339 0xa0, 0x3c, 0xa1, 0x62, 340 0x00, 0xa8, 0x98, 0x42, 341 0xff, 0xe2, 0x98, 0x62, 342 0x00, 0xe2, 0xb8, 0x42, 343 0x40, 0xea, 0x98, 0x00, 344 0x01, 0xe2, 0x88, 0x30, 345 0x00, 0xe2, 0xf6, 0x5b, 346 0xa0, 0x3c, 0x77, 0x72, 347 0x40, 0xea, 0x98, 0x00, 348 0x01, 0x37, 0x95, 0x32, 349 0x08, 0xea, 0x6e, 0x02, 350 0x00, 0xe2, 0x28, 0x42, 351 0xe0, 0xea, 0x12, 0x5c, 352 0x80, 0xe0, 0xf4, 0x6a, 353 0x04, 0xe0, 0xa6, 0x73, 354 0x02, 0xe0, 0xd8, 0x73, 355 0x00, 0xea, 0x52, 0x73, 356 0x03, 0xe0, 0xe8, 0x73, 357 0x23, 0xe0, 0xca, 0x72, 358 0x08, 0xe0, 0xf0, 0x72, 359 0x00, 0xe2, 0xf6, 0x5b, 360 0x07, 0xea, 0x6e, 0x59, 361 0x07, 0xea, 0x04, 0x00, 362 0x08, 0x48, 0x29, 0x72, 363 0x04, 0x48, 0xc7, 0x62, 364 0x01, 0x49, 0x89, 0x30, 365 0x00, 0xe2, 0xb8, 0x42, 366 0x01, 0x44, 0xd4, 0x31, 367 0x00, 0xe2, 0xb8, 0x42, 368 0x01, 0x00, 0x6c, 0x32, 369 0x33, 0xea, 0x68, 0x59, 370 0x33, 0xea, 0x00, 0x00, 371 0x4c, 0x3a, 0xc1, 0x28, 372 0x01, 0x64, 0xc0, 0x31, 373 0x00, 0x36, 0x69, 0x59, 374 0x01, 0x36, 0x01, 0x30, 375 0x01, 0xe0, 0xee, 0x7a, 376 0xa0, 0xea, 0x08, 0x5c, 377 0x01, 0xa0, 0xee, 0x62, 378 0x01, 0x84, 0xe3, 0x7a, 379 0x01, 0x95, 0xf1, 0x6a, 380 0x05, 0xea, 0x6e, 0x59, 381 0x05, 0xea, 0x04, 0x00, 382 0x00, 0xe2, 0xf0, 0x42, 383 0x03, 0xea, 0x6e, 0x59, 384 0x03, 0xea, 0x04, 0x00, 385 0x00, 0xe2, 0xf0, 0x42, 386 0x07, 0xea, 0x1a, 0x5c, 387 0x01, 0x44, 0xd4, 0x31, 388 0x00, 0xe2, 0x28, 0x42, 389 0x3f, 0xe0, 0x76, 0x0a, 390 0xc0, 0x3a, 0xc1, 0x09, 391 0x00, 0x3b, 0x51, 0x01, 392 0xff, 0xea, 0x52, 0x09, 393 0x30, 0x3a, 0xc5, 0x09, 394 0x3d, 0xe2, 0xc4, 0x29, 395 0xb8, 0xe2, 0xc4, 0x19, 396 0x01, 0xea, 0xc6, 0x01, 397 0x02, 0xe2, 0xc8, 0x31, 398 0x02, 0xec, 0x40, 0x31, 399 0xff, 0xa1, 0x10, 0x73, 400 0x02, 0xe8, 0xda, 0x31, 401 0x02, 0xa0, 0x50, 0x31, 402 0x00, 0xe2, 0x32, 0x43, 403 0x80, 0x39, 0x73, 0x02, 404 0x01, 0x44, 0xd4, 0x31, 405 0x00, 0xe2, 0xf6, 0x5b, 406 0x01, 0x39, 0x73, 0x02, 407 0xe0, 0x3c, 0x4d, 0x63, 408 0x02, 0x39, 0x73, 0x02, 409 0x20, 0x46, 0x46, 0x63, 410 0xff, 0xea, 0x52, 0x09, 411 0xa8, 0xea, 0x08, 0x5c, 412 0x04, 0x92, 0x2d, 0x7b, 413 0x01, 0x3a, 0xc1, 0x31, 414 0x00, 0x93, 0x2d, 0x63, 415 0x01, 0x3b, 0xc1, 0x31, 416 0x00, 0x94, 0x37, 0x73, 417 0x01, 0xa9, 0x52, 0x11, 418 0xff, 0xa9, 0x22, 0x6b, 419 0x00, 0xe2, 0x46, 0x43, 420 0x10, 0x39, 0x73, 0x02, 421 0x04, 0x92, 0x47, 0x7b, 422 0xfb, 0x92, 0x25, 0x0b, 423 0xff, 0xea, 0x72, 0x0a, 424 0x01, 0xa4, 0x41, 0x6b, 425 0x02, 0xa8, 0x9c, 0x32, 426 0x00, 0xe2, 0x88, 0x59, 427 0x10, 0x92, 0xf1, 0x7a, 428 0xff, 0xea, 0x1a, 0x5c, 429 0x00, 0xe2, 0xf0, 0x42, 430 0x04, 0xea, 0x6e, 0x59, 431 0x04, 0xea, 0x04, 0x00, 432 0x00, 0xe2, 0xf0, 0x42, 433 0x04, 0xea, 0x6e, 0x59, 434 0x04, 0xea, 0x04, 0x00, 435 0x00, 0xe2, 0x28, 0x42, 436 0x08, 0x92, 0xe9, 0x7a, 437 0xc0, 0x39, 0x5d, 0x7b, 438 0x80, 0x39, 0xe9, 0x6a, 439 0xff, 0x88, 0x5d, 0x6b, 440 0x40, 0x39, 0xe9, 0x6a, 441 0x10, 0x92, 0x63, 0x7b, 442 0x0a, 0xea, 0x6e, 0x59, 443 0x0a, 0xea, 0x04, 0x00, 444 0x00, 0xe2, 0x82, 0x5b, 445 0x00, 0xe2, 0xc2, 0x43, 446 0x50, 0x4b, 0x6a, 0x6b, 447 0xbf, 0x3a, 0x74, 0x08, 448 0x01, 0xe0, 0xf4, 0x31, 449 0xff, 0xea, 0xc0, 0x09, 450 0x01, 0x32, 0x65, 0x1a, 451 0x00, 0x33, 0x67, 0x22, 452 0x04, 0x4d, 0x9b, 0x02, 453 0x01, 0xfa, 0xc0, 0x35, 454 0x02, 0xa8, 0x90, 0x32, 455 0x02, 0xea, 0xb4, 0x00, 456 0x33, 0xea, 0x68, 0x59, 457 0x33, 0xea, 0x00, 0x00, 458 0x02, 0x48, 0x51, 0x31, 459 0xff, 0x90, 0x85, 0x68, 460 0xff, 0x88, 0x8f, 0x6b, 461 0x01, 0xa4, 0x8b, 0x6b, 462 0x02, 0xa4, 0x93, 0x6b, 463 0x01, 0x84, 0x93, 0x7b, 464 0x02, 0x28, 0x19, 0x33, 465 0x02, 0xa8, 0x50, 0x36, 466 0xff, 0x88, 0x93, 0x73, 467 0x00, 0xe2, 0x66, 0x5b, 468 0x02, 0xa8, 0x20, 0x33, 469 0x04, 0xa4, 0x49, 0x03, 470 0xff, 0xea, 0x1a, 0x03, 471 0xff, 0x2d, 0x9f, 0x63, 472 0x02, 0xa8, 0x58, 0x32, 473 0x02, 0xa8, 0x5c, 0x36, 474 0x02, 0xa8, 0x40, 0x31, 475 0x02, 0x2e, 0x51, 0x31, 476 0x02, 0xa0, 0x18, 0x33, 477 0x02, 0xa0, 0x5c, 0x36, 478 0xc0, 0x39, 0xe9, 0x6a, 479 0x04, 0x92, 0x25, 0x03, 480 0x20, 0x92, 0xc3, 0x6b, 481 0x02, 0xa8, 0x40, 0x31, 482 0xc0, 0x3a, 0xc1, 0x09, 483 0x00, 0x3b, 0x51, 0x01, 484 0xff, 0xea, 0x52, 0x09, 485 0x30, 0x3a, 0xc5, 0x09, 486 0x3d, 0xe2, 0xc4, 0x29, 487 0xb8, 0xe2, 0xc4, 0x19, 488 0x01, 0xea, 0xc6, 0x01, 489 0x02, 0xe2, 0xc8, 0x31, 490 0x02, 0xa0, 0xda, 0x31, 491 0x02, 0xa0, 0x50, 0x31, 492 0xf7, 0x57, 0xae, 0x08, 493 0x08, 0xea, 0x98, 0x00, 494 0x01, 0x44, 0xd4, 0x31, 495 0xee, 0x00, 0xcc, 0x6b, 496 0x02, 0xea, 0xb4, 0x00, 497 0xc0, 0xea, 0x72, 0x02, 498 0x09, 0x4c, 0xce, 0x7b, 499 0x01, 0xea, 0x78, 0x02, 500 0x08, 0x4c, 0x06, 0x68, 501 0x0b, 0xea, 0x6e, 0x59, 502 0x0b, 0xea, 0x04, 0x00, 503 0x01, 0x44, 0xd4, 0x31, 504 0x20, 0x39, 0x29, 0x7a, 505 0x00, 0xe2, 0xe0, 0x5b, 506 0x00, 0xe2, 0x28, 0x42, 507 0x01, 0x84, 0xe5, 0x7b, 508 0x01, 0xa4, 0x49, 0x07, 509 0x08, 0x60, 0x30, 0x33, 510 0x08, 0x80, 0x41, 0x37, 511 0xdf, 0x39, 0x73, 0x0a, 512 0xee, 0x00, 0xf2, 0x6b, 513 0x05, 0xea, 0xb4, 0x00, 514 0x33, 0xea, 0x68, 0x59, 515 0x33, 0xea, 0x00, 0x00, 516 0x00, 0xe2, 0x88, 0x59, 517 0x00, 0xe2, 0xf0, 0x42, 518 0xff, 0x42, 0x02, 0x6c, 519 0x01, 0x41, 0xf6, 0x6b, 520 0x02, 0x41, 0xf6, 0x7b, 521 0xff, 0x42, 0x02, 0x6c, 522 0x01, 0x41, 0xf6, 0x6b, 523 0x02, 0x41, 0xf6, 0x7b, 524 0xff, 0x42, 0x02, 0x7c, 525 0x04, 0x4c, 0xf6, 0x6b, 526 0xe0, 0x41, 0x78, 0x0e, 527 0x01, 0x44, 0xd4, 0x31, 528 0xff, 0x42, 0x0a, 0x7c, 529 0x04, 0x4c, 0x0a, 0x6c, 530 0xe0, 0x41, 0x78, 0x0a, 531 0xe0, 0x3c, 0x29, 0x62, 532 0xff, 0xea, 0xca, 0x09, 533 0x01, 0xe2, 0xc8, 0x31, 534 0x01, 0x46, 0xda, 0x35, 535 0x01, 0x44, 0xd4, 0x35, 536 0x10, 0xea, 0x80, 0x00, 537 0x01, 0xe2, 0x6e, 0x36, 538 0x04, 0xa6, 0x22, 0x7c, 539 0xff, 0xea, 0x5a, 0x09, 540 0xff, 0xea, 0x4c, 0x0d, 541 0x01, 0xa6, 0x4e, 0x6c, 542 0x10, 0xad, 0x84, 0x78, 543 0x80, 0xad, 0x46, 0x6c, 544 0x08, 0xad, 0x84, 0x68, 545 0x20, 0x19, 0x3a, 0x7c, 546 0x80, 0xea, 0xb2, 0x01, 547 0x11, 0x00, 0x00, 0x10, 548 0x02, 0xa6, 0x36, 0x7c, 549 0xff, 0xea, 0xb2, 0x0d, 550 0x11, 0x00, 0x00, 0x10, 551 0xff, 0xea, 0xb2, 0x09, 552 0x04, 0x84, 0xf9, 0x30, 553 0x00, 0xea, 0x08, 0x81, 554 0xff, 0xea, 0xd4, 0x09, 555 0x02, 0x84, 0xf9, 0x88, 556 0x0d, 0xea, 0x5a, 0x01, 557 0x04, 0xa6, 0x4c, 0x05, 558 0x04, 0xa6, 0x84, 0x78, 559 0xff, 0xea, 0x5a, 0x09, 560 0x03, 0x84, 0x59, 0x89, 561 0x03, 0xea, 0x4c, 0x01, 562 0x80, 0x1a, 0x84, 0x78, 563 0x08, 0x19, 0x84, 0x78, 564 0x08, 0xb0, 0xe0, 0x30, 565 0x04, 0xb0, 0xe0, 0x30, 566 0x03, 0xb0, 0xf0, 0x30, 567 0x01, 0xb0, 0x06, 0x33, 568 0x7f, 0x83, 0xe9, 0x08, 569 0x04, 0xac, 0x58, 0x19, 570 0xff, 0xea, 0xc0, 0x09, 571 0x04, 0x84, 0x09, 0x9b, 572 0x00, 0x85, 0x0b, 0x23, 573 0x00, 0x86, 0x0d, 0x23, 574 0x00, 0x87, 0x0f, 0x23, 575 0x01, 0x84, 0xc5, 0x31, 576 0x80, 0x83, 0x71, 0x7c, 577 0x02, 0xe2, 0xc4, 0x01, 578 0xff, 0xea, 0x4c, 0x09, 579 0x01, 0xe2, 0x36, 0x30, 580 0xc8, 0x19, 0x32, 0x00, 581 0x88, 0x19, 0x32, 0x00, 582 0x01, 0xac, 0xd4, 0x99, 583 0x00, 0xe2, 0x84, 0x50, 584 0xfe, 0xa6, 0x4c, 0x0d, 585 0x0b, 0x98, 0xe1, 0x30, 586 0xfd, 0xa4, 0x49, 0x09, 587 0x80, 0xa3, 0x85, 0x7c, 588 0x02, 0xa4, 0x48, 0x01, 589 0x01, 0xa4, 0x36, 0x30, 590 0xa8, 0xea, 0x32, 0x00, 591 0xfd, 0xa4, 0x49, 0x0b, 592 0x05, 0xa3, 0x07, 0x33, 593 0x80, 0x83, 0x91, 0x6c, 594 0x02, 0xea, 0x4c, 0x05, 595 0xff, 0xea, 0x4c, 0x0d, 596 0x00, 0xe2, 0x60, 0x59, 597 0x02, 0xa6, 0x24, 0x6c, 598 0x80, 0xf9, 0xf2, 0x05, 599 0xc0, 0x39, 0x9f, 0x7c, 600 0x03, 0xea, 0x6e, 0x59, 601 0x03, 0xea, 0x04, 0x00, 602 0x20, 0x39, 0xc3, 0x7c, 603 0x01, 0x84, 0xa9, 0x6c, 604 0x06, 0xea, 0x6e, 0x59, 605 0x06, 0xea, 0x04, 0x00, 606 0x00, 0xe2, 0xc6, 0x44, 607 0x01, 0x00, 0x6c, 0x32, 608 0xee, 0x00, 0xb2, 0x6c, 609 0x05, 0xea, 0xb4, 0x00, 610 0x33, 0xea, 0x68, 0x59, 611 0x33, 0xea, 0x00, 0x00, 612 0x80, 0x3d, 0x7a, 0x00, 613 0xfc, 0x42, 0xb4, 0x7c, 614 0x7f, 0x3d, 0x7a, 0x08, 615 0x00, 0x36, 0x69, 0x59, 616 0x01, 0x36, 0x01, 0x30, 617 0x09, 0xea, 0x6e, 0x59, 618 0x09, 0xea, 0x04, 0x00, 619 0x00, 0xe2, 0x28, 0x42, 620 0x01, 0xa4, 0xa9, 0x6c, 621 0x00, 0xe2, 0x7c, 0x5c, 622 0x20, 0x39, 0x73, 0x02, 623 0x01, 0x00, 0x6c, 0x32, 624 0x02, 0xa6, 0xce, 0x7c, 625 0x00, 0xe2, 0x92, 0x5c, 626 0x00, 0xe2, 0x76, 0x58, 627 0x00, 0xe2, 0x86, 0x58, 628 0x00, 0xe2, 0x5a, 0x58, 629 0x00, 0x36, 0x69, 0x59, 630 0x01, 0x36, 0x01, 0x30, 631 0x20, 0x19, 0xce, 0x6c, 632 0x00, 0xe2, 0xfe, 0x5c, 633 0x04, 0x19, 0xe8, 0x6c, 634 0x02, 0x19, 0x32, 0x00, 635 0x01, 0x84, 0xe9, 0x7c, 636 0x01, 0x1b, 0xe2, 0x7c, 637 0x01, 0x1a, 0xe8, 0x6c, 638 0x00, 0xe2, 0x98, 0x44, 639 0x80, 0x4b, 0xee, 0x6c, 640 0x01, 0x4c, 0xea, 0x7c, 641 0x03, 0x42, 0x98, 0x6c, 642 0x00, 0xe2, 0x1e, 0x5c, 643 0x80, 0xf9, 0xf2, 0x01, 644 0x04, 0x39, 0x29, 0x7a, 645 0x00, 0xe2, 0x28, 0x42, 646 0x08, 0x5d, 0x06, 0x6d, 647 0x00, 0xe2, 0x76, 0x58, 648 0x00, 0x36, 0x69, 0x59, 649 0x01, 0x36, 0x01, 0x30, 650 0x02, 0x1b, 0xf6, 0x7c, 651 0x08, 0x5d, 0x04, 0x7d, 652 0x03, 0x68, 0x00, 0x37, 653 0x01, 0x84, 0x09, 0x07, 654 0x80, 0x1b, 0x10, 0x7d, 655 0x80, 0x84, 0x11, 0x6d, 656 0xff, 0x85, 0x0b, 0x1b, 657 0xff, 0x86, 0x0d, 0x23, 658 0xff, 0x87, 0x0f, 0x23, 659 0xf8, 0x1b, 0x08, 0x0b, 660 0xff, 0xea, 0x06, 0x0b, 661 0x03, 0x68, 0x00, 0x37, 662 0x00, 0xe2, 0xd6, 0x58, 663 0x10, 0xea, 0x18, 0x00, 664 0xf9, 0xd9, 0xb2, 0x0d, 665 0x01, 0xd9, 0xb2, 0x05, 666 0x01, 0x52, 0x48, 0x31, 667 0x20, 0xa4, 0x3a, 0x7d, 668 0x20, 0x5b, 0x3a, 0x7d, 669 0x80, 0xf9, 0x48, 0x7d, 670 0x02, 0xea, 0xb4, 0x00, 671 0x11, 0x00, 0x00, 0x10, 672 0x04, 0x19, 0x54, 0x7d, 673 0xdf, 0x19, 0x32, 0x08, 674 0x60, 0x5b, 0x54, 0x6d, 675 0x01, 0x4c, 0x2e, 0x7d, 676 0x20, 0x19, 0x32, 0x00, 677 0x01, 0xd9, 0xb2, 0x05, 678 0x02, 0xea, 0xb4, 0x00, 679 0x01, 0xd9, 0xb2, 0x05, 680 0x10, 0x5b, 0x4c, 0x6d, 681 0x08, 0x5b, 0x56, 0x6d, 682 0x20, 0x5b, 0x46, 0x6d, 683 0x02, 0x5b, 0x76, 0x6d, 684 0x0e, 0xea, 0x6e, 0x59, 685 0x0e, 0xea, 0x04, 0x00, 686 0x80, 0xf9, 0x36, 0x6d, 687 0xdf, 0x5c, 0xb8, 0x08, 688 0x01, 0xd9, 0xb2, 0x05, 689 0x01, 0xa4, 0x37, 0x6e, 690 0x00, 0xe2, 0x7c, 0x5c, 691 0x00, 0xe2, 0x80, 0x5d, 692 0x01, 0x90, 0x21, 0x1b, 693 0x01, 0xd9, 0xb2, 0x05, 694 0x00, 0xe2, 0x66, 0x5b, 695 0xf3, 0x96, 0xd5, 0x19, 696 0x00, 0xe2, 0x64, 0x55, 697 0x80, 0x96, 0x65, 0x6d, 698 0x0f, 0xea, 0x6e, 0x59, 699 0x0f, 0xea, 0x04, 0x00, 700 0x00, 0xe2, 0x6c, 0x45, 701 0x04, 0x8c, 0xe1, 0x30, 702 0x01, 0xea, 0xf2, 0x00, 703 0x02, 0xea, 0x36, 0x00, 704 0xa8, 0xea, 0x32, 0x00, 705 0xff, 0x97, 0x73, 0x7d, 706 0x14, 0xea, 0x6e, 0x59, 707 0x14, 0xea, 0x04, 0x00, 708 0x00, 0xe2, 0xe2, 0x5d, 709 0x01, 0xd9, 0xb2, 0x05, 710 0x09, 0x80, 0xe1, 0x30, 711 0x02, 0xea, 0x36, 0x00, 712 0xa8, 0xea, 0x32, 0x00, 713 0x00, 0xe2, 0xda, 0x5d, 714 0x01, 0xd9, 0xb2, 0x05, 715 0x02, 0xa6, 0x90, 0x7d, 716 0x00, 0xe2, 0x60, 0x59, 717 0x20, 0x5b, 0x9e, 0x6d, 718 0xfc, 0x42, 0x8a, 0x7d, 719 0x10, 0x40, 0x8c, 0x6d, 720 0x20, 0x4d, 0x8e, 0x7d, 721 0x08, 0x5d, 0x9e, 0x6d, 722 0x02, 0xa6, 0x24, 0x6c, 723 0x00, 0xe2, 0x60, 0x59, 724 0x20, 0x5b, 0x9e, 0x6d, 725 0x01, 0x1b, 0xbe, 0x6d, 726 0xfc, 0x42, 0x9a, 0x7d, 727 0x10, 0x40, 0x9c, 0x6d, 728 0x20, 0x4d, 0x84, 0x78, 729 0x08, 0x5d, 0x84, 0x78, 730 0x02, 0x19, 0x32, 0x00, 731 0x01, 0x5b, 0x40, 0x31, 732 0x00, 0xe2, 0xfe, 0x5c, 733 0x00, 0xe2, 0xe0, 0x5b, 734 0x20, 0xea, 0xb6, 0x00, 735 0x00, 0xe2, 0x1e, 0x5c, 736 0x20, 0x5c, 0xb8, 0x00, 737 0x04, 0x19, 0xb4, 0x6d, 738 0x01, 0x1a, 0xb4, 0x6d, 739 0x00, 0xe2, 0x60, 0x59, 740 0x01, 0x1a, 0x84, 0x78, 741 0x80, 0xf9, 0xf2, 0x01, 742 0x20, 0xa0, 0x18, 0x7e, 743 0xff, 0x90, 0x21, 0x1b, 744 0x08, 0x92, 0x77, 0x6b, 745 0x02, 0xea, 0xb4, 0x04, 746 0x01, 0xa4, 0x49, 0x03, 747 0x40, 0x5b, 0xce, 0x6d, 748 0x00, 0xe2, 0x60, 0x59, 749 0x40, 0x5b, 0xce, 0x6d, 750 0x04, 0x5d, 0x38, 0x7e, 751 0x01, 0x1a, 0x38, 0x7e, 752 0x20, 0x4d, 0x84, 0x78, 753 0x40, 0x5b, 0x18, 0x7e, 754 0x04, 0x5d, 0x38, 0x7e, 755 0x01, 0x1a, 0x38, 0x7e, 756 0x80, 0xf9, 0xf2, 0x01, 757 0xff, 0x90, 0x21, 0x1b, 758 0x08, 0x92, 0x77, 0x6b, 759 0x02, 0xea, 0xb4, 0x04, 760 0x00, 0xe2, 0x60, 0x59, 761 0x01, 0x1b, 0x84, 0x78, 762 0x80, 0xf9, 0xf2, 0x01, 763 0x02, 0xea, 0xb4, 0x04, 764 0x00, 0xe2, 0x60, 0x59, 765 0x01, 0x1b, 0xf6, 0x6d, 766 0x40, 0x5b, 0x04, 0x7e, 767 0x01, 0x1b, 0xf6, 0x6d, 768 0x02, 0x19, 0x32, 0x00, 769 0x01, 0x1a, 0x84, 0x78, 770 0x80, 0xf9, 0xf2, 0x01, 771 0xff, 0xea, 0x10, 0x03, 772 0x08, 0x92, 0x25, 0x03, 773 0x00, 0xe2, 0x76, 0x43, 774 0x01, 0x1a, 0x00, 0x7e, 775 0x40, 0x5b, 0xfc, 0x7d, 776 0x01, 0x1a, 0xea, 0x6d, 777 0xfc, 0x42, 0x84, 0x78, 778 0x01, 0x1a, 0x04, 0x6e, 779 0x10, 0xea, 0x6e, 0x59, 780 0x10, 0xea, 0x04, 0x00, 781 0xfc, 0x42, 0x84, 0x78, 782 0x10, 0x40, 0x0a, 0x6e, 783 0x20, 0x4d, 0x84, 0x78, 784 0x40, 0x5b, 0xea, 0x6d, 785 0x01, 0x1a, 0x84, 0x78, 786 0x01, 0x90, 0x21, 0x1b, 787 0x30, 0x3f, 0xc0, 0x09, 788 0x30, 0xe0, 0x84, 0x60, 789 0x40, 0x4b, 0x84, 0x68, 790 0xff, 0xea, 0x52, 0x01, 791 0xee, 0x00, 0x20, 0x6e, 792 0x80, 0xf9, 0xf2, 0x01, 793 0xff, 0x90, 0x21, 0x1b, 794 0x02, 0xea, 0xb4, 0x00, 795 0x20, 0xea, 0x9a, 0x00, 796 0x04, 0x41, 0x26, 0x7e, 797 0x08, 0xea, 0x98, 0x00, 798 0x08, 0x57, 0xae, 0x00, 799 0xf3, 0x42, 0x30, 0x6e, 800 0x12, 0xea, 0x6e, 0x59, 801 0x12, 0xea, 0x04, 0x00, 802 0x00, 0xe2, 0x28, 0x42, 803 0x0d, 0xea, 0x6e, 0x59, 804 0x0d, 0xea, 0x04, 0x00, 805 0x00, 0xe2, 0x28, 0x42, 806 0x01, 0x90, 0x21, 0x1b, 807 0x11, 0xea, 0x6e, 0x59, 808 0x11, 0xea, 0x04, 0x00, 809 0x00, 0xe2, 0x66, 0x5b, 810 0x08, 0x5a, 0xb4, 0x00, 811 0x00, 0xe2, 0x5e, 0x5e, 812 0xa8, 0xea, 0x32, 0x00, 813 0x00, 0xe2, 0x60, 0x59, 814 0x80, 0x1a, 0x4c, 0x7e, 815 0x00, 0xe2, 0x5e, 0x5e, 816 0x80, 0x19, 0x32, 0x00, 817 0x40, 0x5b, 0x52, 0x6e, 818 0x08, 0x5a, 0x52, 0x7e, 819 0x20, 0x4d, 0x84, 0x78, 820 0x02, 0x84, 0x09, 0x03, 821 0x40, 0x5b, 0x18, 0x7e, 822 0xff, 0x90, 0x21, 0x1b, 823 0x80, 0xf9, 0xf2, 0x01, 824 0x08, 0x92, 0x77, 0x6b, 825 0x02, 0xea, 0xb4, 0x04, 826 0x01, 0x40, 0xe1, 0x30, 827 0x05, 0x41, 0xe3, 0x98, 828 0x01, 0xe0, 0xf4, 0x31, 829 0xff, 0xea, 0xc0, 0x09, 830 0x00, 0x42, 0xe5, 0x20, 831 0x00, 0x43, 0xe7, 0x20, 832 0x01, 0xfa, 0xc0, 0x31, 833 0x04, 0xea, 0xe8, 0x30, 834 0xff, 0xea, 0xf0, 0x08, 835 0x02, 0xea, 0xf2, 0x00, 836 0xff, 0xea, 0xf4, 0x0c 837 }; 838 839 typedef int ahd_patch_func_t (struct ahd_softc *ahd); 840 static ahd_patch_func_t ahd_patch23_func; 841 842 static int 843 ahd_patch23_func(struct ahd_softc *ahd) 844 { 845 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0); 846 } 847 848 static ahd_patch_func_t ahd_patch22_func; 849 850 static int 851 ahd_patch22_func(struct ahd_softc *ahd) 852 { 853 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) == 0); 854 } 855 856 static ahd_patch_func_t ahd_patch21_func; 857 858 static int 859 ahd_patch21_func(struct ahd_softc *ahd) 860 { 861 return ((ahd->flags & AHD_INITIATORROLE) != 0); 862 } 863 864 static ahd_patch_func_t ahd_patch20_func; 865 866 static int 867 ahd_patch20_func(struct ahd_softc *ahd) 868 { 869 return ((ahd->flags & AHD_TARGETROLE) != 0); 870 } 871 872 static ahd_patch_func_t ahd_patch19_func; 873 874 static int 875 ahd_patch19_func(struct ahd_softc *ahd) 876 { 877 return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0); 878 } 879 880 static ahd_patch_func_t ahd_patch18_func; 881 882 static int 883 ahd_patch18_func(struct ahd_softc *ahd) 884 { 885 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0); 886 } 887 888 static ahd_patch_func_t ahd_patch17_func; 889 890 static int 891 ahd_patch17_func(struct ahd_softc *ahd) 892 { 893 return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0); 894 } 895 896 static ahd_patch_func_t ahd_patch16_func; 897 898 static int 899 ahd_patch16_func(struct ahd_softc *ahd) 900 { 901 return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0); 902 } 903 904 static ahd_patch_func_t ahd_patch15_func; 905 906 static int 907 ahd_patch15_func(struct ahd_softc *ahd) 908 { 909 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0); 910 } 911 912 static ahd_patch_func_t ahd_patch14_func; 913 914 static int 915 ahd_patch14_func(struct ahd_softc *ahd) 916 { 917 return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0); 918 } 919 920 static ahd_patch_func_t ahd_patch13_func; 921 922 static int 923 ahd_patch13_func(struct ahd_softc *ahd) 924 { 925 return ((ahd->features & AHD_RTI) == 0); 926 } 927 928 static ahd_patch_func_t ahd_patch12_func; 929 930 static int 931 ahd_patch12_func(struct ahd_softc *ahd) 932 { 933 return ((ahd->bugs & AHD_EARLY_REQ_BUG) != 0); 934 } 935 936 static ahd_patch_func_t ahd_patch11_func; 937 938 static int 939 ahd_patch11_func(struct ahd_softc *ahd) 940 { 941 return ((ahd->bugs & AHD_BUSFREEREV_BUG) == 0); 942 } 943 944 static ahd_patch_func_t ahd_patch10_func; 945 946 static int 947 ahd_patch10_func(struct ahd_softc *ahd) 948 { 949 return ((ahd->flags & AHD_SEQUENCER_DEBUG) != 0); 950 } 951 952 static ahd_patch_func_t ahd_patch9_func; 953 954 static int 955 ahd_patch9_func(struct ahd_softc *ahd) 956 { 957 return ((ahd->features & AHD_FAST_CDB_DELIVERY) != 0); 958 } 959 960 static ahd_patch_func_t ahd_patch8_func; 961 962 static int 963 ahd_patch8_func(struct ahd_softc *ahd) 964 { 965 return ((ahd->bugs & AHD_LQO_ATNO_BUG) != 0); 966 } 967 968 static ahd_patch_func_t ahd_patch7_func; 969 970 static int 971 ahd_patch7_func(struct ahd_softc *ahd) 972 { 973 return ((ahd->bugs & AHD_BUSFREEREV_BUG) != 0); 974 } 975 976 static ahd_patch_func_t ahd_patch6_func; 977 978 static int 979 ahd_patch6_func(struct ahd_softc *ahd) 980 { 981 return ((ahd->bugs & AHD_NONPACKFIFO_BUG) != 0); 982 } 983 984 static ahd_patch_func_t ahd_patch5_func; 985 986 static int 987 ahd_patch5_func(struct ahd_softc *ahd) 988 { 989 return ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0); 990 } 991 992 static ahd_patch_func_t ahd_patch4_func; 993 994 static int 995 ahd_patch4_func(struct ahd_softc *ahd) 996 { 997 return ((ahd->bugs & AHD_PKT_LUN_BUG) != 0); 998 } 999 1000 static ahd_patch_func_t ahd_patch3_func; 1001 1002 static int 1003 ahd_patch3_func(struct ahd_softc *ahd) 1004 { 1005 return ((ahd->bugs & AHD_FAINT_LED_BUG) != 0); 1006 } 1007 1008 static ahd_patch_func_t ahd_patch2_func; 1009 1010 static int 1011 ahd_patch2_func(struct ahd_softc *ahd) 1012 { 1013 return ((ahd->bugs & AHD_SET_MODE_BUG) != 0); 1014 } 1015 1016 static ahd_patch_func_t ahd_patch1_func; 1017 1018 static int 1019 ahd_patch1_func(struct ahd_softc *ahd) 1020 { 1021 return ((ahd->bugs & AHD_INTCOLLISION_BUG) != 0); 1022 } 1023 1024 static ahd_patch_func_t ahd_patch0_func; 1025 1026 static int 1027 ahd_patch0_func(struct ahd_softc *ahd) 1028 { 1029 return (0); 1030 } 1031 1032 static struct patch { 1033 ahd_patch_func_t *patch_func; 1034 uint32_t begin :10, 1035 skip_instr :10, 1036 skip_patch :12; 1037 } patches[] = { 1038 { ahd_patch1_func, 0, 3, 3 }, 1039 { ahd_patch1_func, 1, 1, 2 }, 1040 { ahd_patch0_func, 2, 1, 1 }, 1041 { ahd_patch1_func, 3, 3, 3 }, 1042 { ahd_patch1_func, 4, 1, 2 }, 1043 { ahd_patch0_func, 5, 1, 1 }, 1044 { ahd_patch2_func, 6, 1, 2 }, 1045 { ahd_patch0_func, 7, 1, 1 }, 1046 { ahd_patch3_func, 36, 5, 1 }, 1047 { ahd_patch2_func, 45, 1, 2 }, 1048 { ahd_patch0_func, 46, 1, 1 }, 1049 { ahd_patch1_func, 53, 1, 2 }, 1050 { ahd_patch0_func, 54, 1, 1 }, 1051 { ahd_patch2_func, 59, 1, 2 }, 1052 { ahd_patch0_func, 60, 1, 1 }, 1053 { ahd_patch2_func, 63, 1, 2 }, 1054 { ahd_patch0_func, 64, 1, 1 }, 1055 { ahd_patch2_func, 67, 1, 2 }, 1056 { ahd_patch0_func, 68, 1, 1 }, 1057 { ahd_patch4_func, 115, 1, 1 }, 1058 { ahd_patch2_func, 180, 3, 1 }, 1059 { ahd_patch1_func, 183, 2, 1 }, 1060 { ahd_patch5_func, 185, 1, 1 }, 1061 { ahd_patch2_func, 194, 1, 2 }, 1062 { ahd_patch0_func, 195, 1, 1 }, 1063 { ahd_patch6_func, 196, 2, 2 }, 1064 { ahd_patch0_func, 198, 6, 3 }, 1065 { ahd_patch2_func, 201, 1, 2 }, 1066 { ahd_patch0_func, 202, 1, 1 }, 1067 { ahd_patch2_func, 205, 1, 2 }, 1068 { ahd_patch0_func, 206, 1, 1 }, 1069 { ahd_patch3_func, 208, 1, 1 }, 1070 { ahd_patch7_func, 209, 3, 1 }, 1071 { ahd_patch3_func, 218, 1, 1 }, 1072 { ahd_patch5_func, 219, 16, 2 }, 1073 { ahd_patch0_func, 235, 1, 1 }, 1074 { ahd_patch8_func, 260, 2, 1 }, 1075 { ahd_patch1_func, 264, 1, 2 }, 1076 { ahd_patch0_func, 265, 1, 1 }, 1077 { ahd_patch7_func, 268, 3, 1 }, 1078 { ahd_patch1_func, 283, 1, 2 }, 1079 { ahd_patch0_func, 284, 1, 1 }, 1080 { ahd_patch1_func, 287, 1, 2 }, 1081 { ahd_patch0_func, 288, 1, 1 }, 1082 { ahd_patch2_func, 291, 1, 2 }, 1083 { ahd_patch0_func, 292, 1, 1 }, 1084 { ahd_patch9_func, 305, 2, 2 }, 1085 { ahd_patch0_func, 307, 1, 1 }, 1086 { ahd_patch1_func, 349, 1, 2 }, 1087 { ahd_patch0_func, 350, 1, 1 }, 1088 { ahd_patch2_func, 358, 1, 2 }, 1089 { ahd_patch0_func, 359, 1, 1 }, 1090 { ahd_patch2_func, 362, 1, 2 }, 1091 { ahd_patch0_func, 363, 1, 1 }, 1092 { ahd_patch1_func, 369, 1, 2 }, 1093 { ahd_patch0_func, 370, 1, 1 }, 1094 { ahd_patch1_func, 372, 1, 2 }, 1095 { ahd_patch0_func, 373, 1, 1 }, 1096 { ahd_patch10_func, 392, 1, 1 }, 1097 { ahd_patch10_func, 395, 1, 1 }, 1098 { ahd_patch10_func, 397, 1, 1 }, 1099 { ahd_patch10_func, 409, 1, 1 }, 1100 { ahd_patch1_func, 419, 1, 2 }, 1101 { ahd_patch0_func, 420, 1, 1 }, 1102 { ahd_patch1_func, 422, 1, 2 }, 1103 { ahd_patch0_func, 423, 1, 1 }, 1104 { ahd_patch1_func, 431, 1, 2 }, 1105 { ahd_patch0_func, 432, 1, 1 }, 1106 { ahd_patch2_func, 445, 1, 2 }, 1107 { ahd_patch0_func, 446, 1, 1 }, 1108 { ahd_patch11_func, 482, 1, 1 }, 1109 { ahd_patch1_func, 490, 1, 2 }, 1110 { ahd_patch0_func, 491, 1, 1 }, 1111 { ahd_patch2_func, 503, 1, 2 }, 1112 { ahd_patch0_func, 504, 1, 1 }, 1113 { ahd_patch12_func, 507, 6, 2 }, 1114 { ahd_patch0_func, 513, 1, 1 }, 1115 { ahd_patch13_func, 534, 7, 1 }, 1116 { ahd_patch14_func, 543, 1, 1 }, 1117 { ahd_patch15_func, 552, 1, 1 }, 1118 { ahd_patch16_func, 553, 1, 2 }, 1119 { ahd_patch0_func, 554, 1, 1 }, 1120 { ahd_patch17_func, 557, 1, 1 }, 1121 { ahd_patch16_func, 558, 1, 1 }, 1122 { ahd_patch18_func, 569, 1, 2 }, 1123 { ahd_patch0_func, 570, 1, 1 }, 1124 { ahd_patch1_func, 589, 1, 2 }, 1125 { ahd_patch0_func, 590, 1, 1 }, 1126 { ahd_patch1_func, 593, 1, 2 }, 1127 { ahd_patch0_func, 594, 1, 1 }, 1128 { ahd_patch2_func, 599, 1, 2 }, 1129 { ahd_patch0_func, 600, 1, 1 }, 1130 { ahd_patch2_func, 604, 1, 2 }, 1131 { ahd_patch0_func, 605, 1, 1 }, 1132 { ahd_patch1_func, 606, 1, 2 }, 1133 { ahd_patch0_func, 607, 1, 1 }, 1134 { ahd_patch2_func, 618, 1, 2 }, 1135 { ahd_patch0_func, 619, 1, 1 }, 1136 { ahd_patch19_func, 623, 1, 1 }, 1137 { ahd_patch20_func, 628, 1, 1 }, 1138 { ahd_patch21_func, 629, 2, 1 }, 1139 { ahd_patch20_func, 633, 1, 2 }, 1140 { ahd_patch0_func, 634, 1, 1 }, 1141 { ahd_patch2_func, 637, 1, 2 }, 1142 { ahd_patch0_func, 638, 1, 1 }, 1143 { ahd_patch2_func, 653, 1, 2 }, 1144 { ahd_patch0_func, 654, 1, 1 }, 1145 { ahd_patch13_func, 655, 14, 1 }, 1146 { ahd_patch1_func, 673, 1, 2 }, 1147 { ahd_patch0_func, 674, 1, 1 }, 1148 { ahd_patch13_func, 675, 1, 1 }, 1149 { ahd_patch1_func, 687, 1, 2 }, 1150 { ahd_patch0_func, 688, 1, 1 }, 1151 { ahd_patch1_func, 695, 1, 2 }, 1152 { ahd_patch0_func, 696, 1, 1 }, 1153 { ahd_patch19_func, 719, 1, 1 }, 1154 { ahd_patch19_func, 757, 1, 1 }, 1155 { ahd_patch1_func, 768, 1, 2 }, 1156 { ahd_patch0_func, 769, 1, 1 }, 1157 { ahd_patch7_func, 785, 3, 1 }, 1158 { ahd_patch1_func, 789, 1, 2 }, 1159 { ahd_patch0_func, 790, 1, 1 }, 1160 { ahd_patch1_func, 792, 1, 2 }, 1161 { ahd_patch0_func, 793, 1, 1 }, 1162 { ahd_patch1_func, 796, 1, 2 }, 1163 { ahd_patch0_func, 797, 1, 1 }, 1164 { ahd_patch22_func, 799, 1, 2 }, 1165 { ahd_patch0_func, 800, 2, 1 }, 1166 { ahd_patch23_func, 803, 4, 2 }, 1167 { ahd_patch0_func, 807, 1, 1 }, 1168 { ahd_patch23_func, 815, 11, 1 } 1169 }; 1170 1171 static struct cs { 1172 uint16_t begin; 1173 uint16_t end; 1174 } critical_sections[] = { 1175 { 17, 30 }, 1176 { 47, 58 }, 1177 { 61, 63 }, 1178 { 65, 66 }, 1179 { 72, 92 }, 1180 { 110, 142 }, 1181 { 143, 180 }, 1182 { 185, 193 }, 1183 { 218, 274 }, 1184 { 435, 443 }, 1185 { 453, 455 }, 1186 { 458, 467 }, 1187 { 719, 749 }, 1188 { 759, 763 } 1189 }; 1190 1191 static const int num_critical_sections = sizeof(critical_sections) 1192 / sizeof(*critical_sections); 1193