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