linux/drivers/scsi/aic7xxx/aic79xx_seq.h_shipped
<<
>>
Prefs
   1/*
   2 * DO NOT EDIT - This file is automatically generated
   3 *               from the following source files:
   4 *
   5 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
   6 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
   7 */
   8static const 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
 837typedef int ahd_patch_func_t (struct ahd_softc *ahd);
 838static ahd_patch_func_t ahd_patch23_func;
 839
 840static int
 841ahd_patch23_func(struct ahd_softc *ahd)
 842{
 843        return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0);
 844}
 845
 846static ahd_patch_func_t ahd_patch22_func;
 847
 848static int
 849ahd_patch22_func(struct ahd_softc *ahd)
 850{
 851        return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) == 0);
 852}
 853
 854static ahd_patch_func_t ahd_patch21_func;
 855
 856static int
 857ahd_patch21_func(struct ahd_softc *ahd)
 858{
 859        return ((ahd->flags & AHD_INITIATORROLE) != 0);
 860}
 861
 862static ahd_patch_func_t ahd_patch20_func;
 863
 864static int
 865ahd_patch20_func(struct ahd_softc *ahd)
 866{
 867        return ((ahd->flags & AHD_TARGETROLE) != 0);
 868}
 869
 870static ahd_patch_func_t ahd_patch19_func;
 871
 872static int
 873ahd_patch19_func(struct ahd_softc *ahd)
 874{
 875        return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
 876}
 877
 878static ahd_patch_func_t ahd_patch18_func;
 879
 880static int
 881ahd_patch18_func(struct ahd_softc *ahd)
 882{
 883        return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
 884}
 885
 886static ahd_patch_func_t ahd_patch17_func;
 887
 888static int
 889ahd_patch17_func(struct ahd_softc *ahd)
 890{
 891        return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
 892}
 893
 894static ahd_patch_func_t ahd_patch16_func;
 895
 896static int
 897ahd_patch16_func(struct ahd_softc *ahd)
 898{
 899        return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
 900}
 901
 902static ahd_patch_func_t ahd_patch15_func;
 903
 904static int
 905ahd_patch15_func(struct ahd_softc *ahd)
 906{
 907        return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
 908}
 909
 910static ahd_patch_func_t ahd_patch14_func;
 911
 912static int
 913ahd_patch14_func(struct ahd_softc *ahd)
 914{
 915        return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
 916}
 917
 918static ahd_patch_func_t ahd_patch13_func;
 919
 920static int
 921ahd_patch13_func(struct ahd_softc *ahd)
 922{
 923        return ((ahd->features & AHD_RTI) == 0);
 924}
 925
 926static ahd_patch_func_t ahd_patch12_func;
 927
 928static int
 929ahd_patch12_func(struct ahd_softc *ahd)
 930{
 931        return ((ahd->bugs & AHD_EARLY_REQ_BUG) != 0);
 932}
 933
 934static ahd_patch_func_t ahd_patch11_func;
 935
 936static int
 937ahd_patch11_func(struct ahd_softc *ahd)
 938{
 939        return ((ahd->bugs & AHD_BUSFREEREV_BUG) == 0);
 940}
 941
 942static ahd_patch_func_t ahd_patch10_func;
 943
 944static int
 945ahd_patch10_func(struct ahd_softc *ahd)
 946{
 947        return ((ahd->flags & AHD_SEQUENCER_DEBUG) != 0);
 948}
 949
 950static ahd_patch_func_t ahd_patch9_func;
 951
 952static int
 953ahd_patch9_func(struct ahd_softc *ahd)
 954{
 955        return ((ahd->features & AHD_FAST_CDB_DELIVERY) != 0);
 956}
 957
 958static ahd_patch_func_t ahd_patch8_func;
 959
 960static int
 961ahd_patch8_func(struct ahd_softc *ahd)
 962{
 963        return ((ahd->bugs & AHD_LQO_ATNO_BUG) != 0);
 964}
 965
 966static ahd_patch_func_t ahd_patch7_func;
 967
 968static int
 969ahd_patch7_func(struct ahd_softc *ahd)
 970{
 971        return ((ahd->bugs & AHD_BUSFREEREV_BUG) != 0);
 972}
 973
 974static ahd_patch_func_t ahd_patch6_func;
 975
 976static int
 977ahd_patch6_func(struct ahd_softc *ahd)
 978{
 979        return ((ahd->bugs & AHD_NONPACKFIFO_BUG) != 0);
 980}
 981
 982static ahd_patch_func_t ahd_patch5_func;
 983
 984static int
 985ahd_patch5_func(struct ahd_softc *ahd)
 986{
 987        return ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0);
 988}
 989
 990static ahd_patch_func_t ahd_patch4_func;
 991
 992static int
 993ahd_patch4_func(struct ahd_softc *ahd)
 994{
 995        return ((ahd->bugs & AHD_PKT_LUN_BUG) != 0);
 996}
 997
 998static ahd_patch_func_t ahd_patch3_func;
 999
1000static int
1001ahd_patch3_func(struct ahd_softc *ahd)
1002{
1003        return ((ahd->bugs & AHD_FAINT_LED_BUG) != 0);
1004}
1005
1006static ahd_patch_func_t ahd_patch2_func;
1007
1008static int
1009ahd_patch2_func(struct ahd_softc *ahd)
1010{
1011        return ((ahd->bugs & AHD_SET_MODE_BUG) != 0);
1012}
1013
1014static ahd_patch_func_t ahd_patch1_func;
1015
1016static int
1017ahd_patch1_func(struct ahd_softc *ahd)
1018{
1019        return ((ahd->bugs & AHD_INTCOLLISION_BUG) != 0);
1020}
1021
1022static ahd_patch_func_t ahd_patch0_func;
1023
1024static int
1025ahd_patch0_func(struct ahd_softc *ahd)
1026{
1027        return (0);
1028}
1029
1030static const 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
1169static const 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
1189static const int num_critical_sections = sizeof(critical_sections)
1190                                       / sizeof(*critical_sections);
1191