0001 /*
0002 * DO NOT EDIT - This file is automatically generated
0003 * from the following source files:
0004 *
0005 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
0006 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
0007 */
0008 static const uint8_t seqprog[] = {
0009 0xff, 0x02, 0x06, 0x78,
0010 0x00, 0xea, 0x6e, 0x59,
0011 0x01, 0xea, 0x04, 0x30,
0012 0xff, 0x04, 0x0c, 0x78,
0013 0x19, 0xea, 0x6e, 0x59,
0014 0x19, 0xea, 0x04, 0x00,
0015 0x33, 0xea, 0x68, 0x59,
0016 0x33, 0xea, 0x00, 0x00,
0017 0x60, 0x3a, 0x3a, 0x68,
0018 0x04, 0x4d, 0x35, 0x78,
0019 0x01, 0x34, 0xc1, 0x31,
0020 0x00, 0x32, 0x21, 0x60,
0021 0x01, 0x35, 0xc1, 0x31,
0022 0x00, 0x33, 0x21, 0x60,
0023 0xfb, 0x4d, 0x9b, 0x0a,
0024 0x00, 0xe2, 0x34, 0x40,
0025 0x50, 0x4b, 0x3a, 0x68,
0026 0xff, 0x31, 0x3b, 0x70,
0027 0x02, 0x30, 0x51, 0x31,
0028 0xff, 0x8d, 0x2d, 0x70,
0029 0x02, 0x8c, 0x51, 0x31,
0030 0xff, 0x8d, 0x29, 0x60,
0031 0x02, 0x28, 0x19, 0x33,
0032 0x02, 0x30, 0x51, 0x32,
0033 0xff, 0xea, 0x62, 0x02,
0034 0x00, 0xe2, 0x3a, 0x40,
0035 0xff, 0x21, 0x3b, 0x70,
0036 0x40, 0x4b, 0xb4, 0x69,
0037 0x00, 0xe2, 0x72, 0x59,
0038 0x40, 0x4b, 0xb4, 0x69,
0039 0x20, 0x4b, 0xa0, 0x69,
0040 0xfc, 0x42, 0x44, 0x78,
0041 0x10, 0x40, 0x44, 0x78,
0042 0x00, 0xe2, 0x10, 0x5e,
0043 0x20, 0x4d, 0x48, 0x78,
0044 0x00, 0xe2, 0x10, 0x5e,
0045 0x30, 0x3f, 0xc0, 0x09,
0046 0x30, 0xe0, 0x50, 0x60,
0047 0x7f, 0x4a, 0x94, 0x08,
0048 0x00, 0xe2, 0x52, 0x40,
0049 0xc0, 0x4a, 0x94, 0x00,
0050 0x00, 0xe2, 0x5e, 0x58,
0051 0x00, 0xe2, 0x76, 0x58,
0052 0x00, 0xe2, 0x86, 0x58,
0053 0x00, 0xe2, 0x06, 0x40,
0054 0x33, 0xea, 0x68, 0x59,
0055 0x33, 0xea, 0x00, 0x00,
0056 0x01, 0x52, 0x84, 0x78,
0057 0x02, 0x58, 0x50, 0x31,
0058 0xff, 0xea, 0x10, 0x0b,
0059 0xff, 0x97, 0x6f, 0x78,
0060 0x50, 0x4b, 0x6a, 0x68,
0061 0xbf, 0x3a, 0x74, 0x08,
0062 0x14, 0xea, 0x6e, 0x59,
0063 0x14, 0xea, 0x04, 0x00,
0064 0x08, 0x92, 0x25, 0x03,
0065 0xff, 0x90, 0x5f, 0x68,
0066 0x00, 0xe2, 0x8a, 0x5b,
0067 0x00, 0xe2, 0x5e, 0x40,
0068 0x00, 0xea, 0x68, 0x59,
0069 0x01, 0xea, 0x00, 0x30,
0070 0x80, 0xf9, 0x7e, 0x68,
0071 0x00, 0xe2, 0x66, 0x59,
0072 0x11, 0xea, 0x68, 0x59,
0073 0x11, 0xea, 0x00, 0x00,
0074 0x80, 0xf9, 0x66, 0x79,
0075 0xff, 0xea, 0xd4, 0x0d,
0076 0x22, 0xea, 0x68, 0x59,
0077 0x22, 0xea, 0x00, 0x00,
0078 0x10, 0x16, 0x90, 0x78,
0079 0x10, 0x16, 0x2c, 0x00,
0080 0x01, 0x0b, 0xae, 0x32,
0081 0x18, 0xad, 0x1c, 0x79,
0082 0x04, 0xad, 0xdc, 0x68,
0083 0x80, 0xad, 0x84, 0x78,
0084 0x10, 0xad, 0xaa, 0x78,
0085 0xe7, 0xad, 0x5a, 0x09,
0086 0x02, 0x8c, 0x59, 0x32,
0087 0xff, 0x8d, 0xa1, 0x60,
0088 0xff, 0xea, 0x5e, 0x02,
0089 0xff, 0x88, 0xa7, 0x78,
0090 0x02, 0x30, 0x19, 0x33,
0091 0x02, 0xa8, 0x60, 0x36,
0092 0x02, 0x28, 0x19, 0x33,
0093 0x02, 0xa8, 0x50, 0x36,
0094 0xe7, 0xad, 0x5a, 0x09,
0095 0x00, 0xe2, 0xb8, 0x58,
0096 0xff, 0xea, 0x56, 0x02,
0097 0x04, 0x7c, 0x88, 0x32,
0098 0x20, 0x16, 0x84, 0x78,
0099 0x04, 0x40, 0x89, 0x32,
0100 0x80, 0x3d, 0x7b, 0x16,
0101 0xff, 0x2d, 0xc7, 0x60,
0102 0xff, 0x29, 0xc7, 0x60,
0103 0x40, 0x57, 0xd7, 0x78,
0104 0xff, 0x55, 0xc7, 0x68,
0105 0xff, 0x53, 0xc1, 0x19,
0106 0x00, 0x54, 0xd5, 0x19,
0107 0x00, 0xe2, 0xd6, 0x50,
0108 0x01, 0x52, 0xc1, 0x31,
0109 0x00, 0x56, 0xd5, 0x19,
0110 0x00, 0xe2, 0xd6, 0x48,
0111 0x80, 0x18, 0x84, 0x78,
0112 0x02, 0x50, 0x1d, 0x30,
0113 0x10, 0xea, 0x18, 0x00,
0114 0x60, 0x18, 0x30, 0x00,
0115 0x7f, 0x18, 0x30, 0x0c,
0116 0x02, 0xea, 0x02, 0x00,
0117 0xff, 0xea, 0xac, 0x0a,
0118 0x80, 0x18, 0x30, 0x04,
0119 0x40, 0xad, 0x84, 0x78,
0120 0xe7, 0xad, 0x5a, 0x09,
0121 0xff, 0xea, 0xc0, 0x09,
0122 0x01, 0x54, 0xa9, 0x1a,
0123 0x00, 0x55, 0xab, 0x22,
0124 0x01, 0x94, 0x6d, 0x33,
0125 0xff, 0xea, 0x20, 0x0b,
0126 0x04, 0xac, 0x49, 0x32,
0127 0xff, 0xea, 0x5a, 0x03,
0128 0xff, 0xea, 0x5e, 0x03,
0129 0x01, 0x10, 0xd4, 0x31,
0130 0x02, 0xa8, 0x40, 0x31,
0131 0x01, 0x92, 0xc1, 0x31,
0132 0x3d, 0x93, 0xc5, 0x29,
0133 0xfe, 0xe2, 0xc4, 0x09,
0134 0x01, 0xea, 0xc6, 0x01,
0135 0x02, 0xe2, 0xc8, 0x31,
0136 0x02, 0xec, 0x50, 0x31,
0137 0x02, 0xa0, 0xda, 0x31,
0138 0xff, 0xa9, 0x10, 0x71,
0139 0x10, 0xe0, 0x0e, 0x79,
0140 0x10, 0x92, 0x0f, 0x79,
0141 0x01, 0x4d, 0x9b, 0x02,
0142 0x02, 0xa0, 0xc0, 0x32,
0143 0x01, 0x93, 0xc5, 0x36,
0144 0x02, 0xa0, 0x58, 0x37,
0145 0xff, 0x21, 0x19, 0x71,
0146 0x02, 0x22, 0x51, 0x31,
0147 0x02, 0xa0, 0x5c, 0x33,
0148 0x02, 0xa0, 0x44, 0x36,
0149 0x02, 0xa0, 0x40, 0x32,
0150 0x02, 0xa0, 0x44, 0x36,
0151 0x05, 0x4d, 0x21, 0x69,
0152 0x40, 0x16, 0x52, 0x69,
0153 0xff, 0x2d, 0x57, 0x61,
0154 0xff, 0x29, 0x85, 0x70,
0155 0x02, 0x28, 0x55, 0x32,
0156 0x01, 0xea, 0x5a, 0x01,
0157 0x04, 0x44, 0xf9, 0x30,
0158 0x01, 0x44, 0xc1, 0x31,
0159 0x02, 0x28, 0x51, 0x31,
0160 0x02, 0xa8, 0x60, 0x31,
0161 0x01, 0xa4, 0x61, 0x31,
0162 0x01, 0x3d, 0x61, 0x31,
0163 0x01, 0x14, 0xd4, 0x31,
0164 0x01, 0x56, 0xad, 0x1a,
0165 0xff, 0x54, 0xa9, 0x1a,
0166 0xff, 0x55, 0xab, 0x22,
0167 0xff, 0x8d, 0x4b, 0x71,
0168 0x80, 0xac, 0x4a, 0x71,
0169 0x20, 0x16, 0x4a, 0x69,
0170 0x00, 0xac, 0xc4, 0x19,
0171 0x07, 0xe2, 0x4a, 0xf9,
0172 0x02, 0x8c, 0x51, 0x31,
0173 0x00, 0xe2, 0x2e, 0x41,
0174 0x01, 0xac, 0x08, 0x31,
0175 0x09, 0xea, 0x5a, 0x01,
0176 0x02, 0x8c, 0x51, 0x32,
0177 0xff, 0xea, 0x1a, 0x07,
0178 0x04, 0x24, 0xf9, 0x30,
0179 0x1d, 0xea, 0x5c, 0x41,
0180 0x02, 0x2c, 0x51, 0x31,
0181 0x04, 0xa8, 0xf9, 0x30,
0182 0x19, 0xea, 0x5c, 0x41,
0183 0x06, 0xea, 0x08, 0x81,
0184 0x01, 0xe2, 0x5a, 0x35,
0185 0x02, 0xf2, 0xf0, 0x31,
0186 0xff, 0xea, 0xd4, 0x0d,
0187 0x02, 0xf2, 0xf0, 0x31,
0188 0x02, 0xf8, 0xe4, 0x35,
0189 0x80, 0xea, 0xb2, 0x01,
0190 0x01, 0xe2, 0x00, 0x30,
0191 0xff, 0xea, 0xb2, 0x0d,
0192 0x01, 0xe2, 0x04, 0x30,
0193 0x01, 0xea, 0x04, 0x34,
0194 0x02, 0x20, 0xbd, 0x30,
0195 0x02, 0x20, 0xb9, 0x30,
0196 0x02, 0x20, 0x51, 0x31,
0197 0x4c, 0x93, 0xd7, 0x28,
0198 0x10, 0x92, 0x81, 0x79,
0199 0x01, 0x6b, 0xc0, 0x30,
0200 0x02, 0x64, 0xc8, 0x00,
0201 0x40, 0x3a, 0x74, 0x04,
0202 0x00, 0xe2, 0x76, 0x58,
0203 0x33, 0xea, 0x68, 0x59,
0204 0x33, 0xea, 0x00, 0x00,
0205 0x30, 0x3f, 0xc0, 0x09,
0206 0x30, 0xe0, 0x82, 0x61,
0207 0x20, 0x3f, 0x98, 0x69,
0208 0x10, 0x3f, 0x82, 0x79,
0209 0x02, 0xea, 0x7e, 0x00,
0210 0x00, 0xea, 0x68, 0x59,
0211 0x01, 0xea, 0x00, 0x30,
0212 0x02, 0x4e, 0x51, 0x35,
0213 0x01, 0xea, 0x7e, 0x00,
0214 0x11, 0xea, 0x68, 0x59,
0215 0x11, 0xea, 0x00, 0x00,
0216 0x02, 0x4e, 0x51, 0x35,
0217 0xc0, 0x4a, 0x94, 0x00,
0218 0x04, 0x41, 0xa6, 0x79,
0219 0x08, 0xea, 0x98, 0x00,
0220 0x08, 0x57, 0xae, 0x00,
0221 0x08, 0x3c, 0x78, 0x00,
0222 0xf0, 0x49, 0x74, 0x0a,
0223 0x0f, 0x67, 0xc0, 0x09,
0224 0x00, 0x3a, 0x75, 0x02,
0225 0x20, 0xea, 0x96, 0x00,
0226 0x00, 0xe2, 0x28, 0x42,
0227 0xc0, 0x4a, 0x94, 0x00,
0228 0x40, 0x3a, 0xd2, 0x69,
0229 0x02, 0x55, 0x06, 0x68,
0230 0x02, 0x56, 0xd2, 0x69,
0231 0xff, 0x5b, 0xd2, 0x61,
0232 0x02, 0x20, 0x51, 0x31,
0233 0x80, 0xea, 0xb2, 0x01,
0234 0x44, 0xea, 0x00, 0x00,
0235 0x01, 0x33, 0xc0, 0x31,
0236 0x33, 0xea, 0x00, 0x00,
0237 0xff, 0xea, 0xb2, 0x09,
0238 0xff, 0xe0, 0xc0, 0x19,
0239 0xff, 0xe0, 0xd4, 0x79,
0240 0x02, 0xac, 0x51, 0x31,
0241 0x00, 0xe2, 0xca, 0x41,
0242 0x02, 0x5e, 0x50, 0x31,
0243 0x02, 0xa8, 0xb8, 0x30,
0244 0x02, 0x5c, 0x50, 0x31,
0245 0xff, 0xad, 0xe5, 0x71,
0246 0x02, 0xac, 0x41, 0x31,
0247 0x02, 0x22, 0x51, 0x31,
0248 0x02, 0xa0, 0x5c, 0x33,
0249 0x02, 0xa0, 0x44, 0x32,
0250 0x00, 0xe2, 0xf8, 0x41,
0251 0x01, 0x4d, 0xf1, 0x79,
0252 0x01, 0x62, 0xc1, 0x31,
0253 0x00, 0x93, 0xf1, 0x61,
0254 0xfe, 0x4d, 0x9b, 0x0a,
0255 0x02, 0x60, 0x41, 0x31,
0256 0x00, 0xe2, 0xdc, 0x41,
0257 0x3d, 0x93, 0xc9, 0x29,
0258 0x01, 0xe4, 0xc8, 0x01,
0259 0x01, 0xea, 0xca, 0x01,
0260 0xff, 0xea, 0xda, 0x01,
0261 0x02, 0x20, 0x51, 0x31,
0262 0x02, 0xae, 0x41, 0x32,
0263 0xff, 0x21, 0x01, 0x62,
0264 0xff, 0xea, 0x46, 0x02,
0265 0x02, 0x5c, 0x50, 0x31,
0266 0x40, 0xea, 0x96, 0x00,
0267 0x02, 0x56, 0x20, 0x6e,
0268 0x01, 0x55, 0x20, 0x6e,
0269 0x10, 0x92, 0x0d, 0x7a,
0270 0x10, 0x40, 0x16, 0x6a,
0271 0x01, 0x56, 0x16, 0x7a,
0272 0xff, 0x97, 0x07, 0x78,
0273 0x13, 0xea, 0x6e, 0x59,
0274 0x13, 0xea, 0x04, 0x00,
0275 0x00, 0xe2, 0x06, 0x40,
0276 0xbf, 0x3a, 0x74, 0x08,
0277 0x04, 0x41, 0x1c, 0x7a,
0278 0x08, 0xea, 0x98, 0x00,
0279 0x08, 0x57, 0xae, 0x00,
0280 0x01, 0x93, 0x75, 0x32,
0281 0x01, 0x94, 0x77, 0x32,
0282 0x40, 0xea, 0x72, 0x02,
0283 0x08, 0x3c, 0x78, 0x00,
0284 0x80, 0xea, 0x6e, 0x02,
0285 0x00, 0xe2, 0xf6, 0x5b,
0286 0x01, 0x3c, 0xc1, 0x31,
0287 0x9f, 0xe0, 0x98, 0x7c,
0288 0x80, 0xe0, 0x3c, 0x72,
0289 0xa0, 0xe0, 0x78, 0x72,
0290 0xc0, 0xe0, 0x6e, 0x72,
0291 0xe0, 0xe0, 0xa8, 0x72,
0292 0x01, 0xea, 0x6e, 0x59,
0293 0x01, 0xea, 0x04, 0x00,
0294 0x00, 0xe2, 0x28, 0x42,
0295 0x80, 0x39, 0x43, 0x7a,
0296 0x03, 0xea, 0x6e, 0x59,
0297 0x03, 0xea, 0x04, 0x00,
0298 0xee, 0x00, 0x4a, 0x6a,
0299 0x05, 0xea, 0xb4, 0x00,
0300 0x33, 0xea, 0x68, 0x59,
0301 0x33, 0xea, 0x00, 0x00,
0302 0x02, 0xa8, 0x9c, 0x32,
0303 0x00, 0xe2, 0x88, 0x59,
0304 0xef, 0x96, 0xd5, 0x19,
0305 0x00, 0xe2, 0x5a, 0x52,
0306 0x09, 0x80, 0xe1, 0x30,
0307 0x02, 0xea, 0x36, 0x00,
0308 0xa8, 0xea, 0x32, 0x00,
0309 0x00, 0xe2, 0x60, 0x42,
0310 0x01, 0x96, 0xd1, 0x30,
0311 0x10, 0x80, 0x89, 0x31,
0312 0x20, 0xea, 0x32, 0x00,
0313 0xbf, 0x39, 0x73, 0x0a,
0314 0x10, 0x4c, 0x6a, 0x6a,
0315 0x20, 0x19, 0x62, 0x6a,
0316 0x20, 0x19, 0x66, 0x6a,
0317 0x02, 0x4d, 0x28, 0x6a,
0318 0x40, 0x39, 0x73, 0x02,
0319 0x00, 0xe2, 0x28, 0x42,
0320 0x80, 0x39, 0xe9, 0x6a,
0321 0x01, 0x44, 0x10, 0x33,
0322 0x08, 0x92, 0x25, 0x03,
0323 0x00, 0xe2, 0x28, 0x42,
0324 0x10, 0xea, 0x80, 0x00,
0325 0x01, 0x37, 0xc5, 0x31,
0326 0x80, 0xe2, 0x94, 0x62,
0327 0x10, 0x92, 0xb9, 0x6a,
0328 0xc0, 0x94, 0xc5, 0x01,
0329 0x40, 0x92, 0x85, 0x6a,
0330 0xbf, 0xe2, 0xc4, 0x09,
0331 0x20, 0x92, 0x99, 0x7a,
0332 0x01, 0xe2, 0x88, 0x30,
0333 0x00, 0xe2, 0xf6, 0x5b,
0334 0xa0, 0x3c, 0xa1, 0x62,
0335 0x23, 0x92, 0x89, 0x08,
0336 0x00, 0xe2, 0xf6, 0x5b,
0337 0xa0, 0x3c, 0xa1, 0x62,
0338 0x00, 0xa8, 0x98, 0x42,
0339 0xff, 0xe2, 0x98, 0x62,
0340 0x00, 0xe2, 0xb8, 0x42,
0341 0x40, 0xea, 0x98, 0x00,
0342 0x01, 0xe2, 0x88, 0x30,
0343 0x00, 0xe2, 0xf6, 0x5b,
0344 0xa0, 0x3c, 0x77, 0x72,
0345 0x40, 0xea, 0x98, 0x00,
0346 0x01, 0x37, 0x95, 0x32,
0347 0x08, 0xea, 0x6e, 0x02,
0348 0x00, 0xe2, 0x28, 0x42,
0349 0xe0, 0xea, 0x12, 0x5c,
0350 0x80, 0xe0, 0xf4, 0x6a,
0351 0x04, 0xe0, 0xa6, 0x73,
0352 0x02, 0xe0, 0xd8, 0x73,
0353 0x00, 0xea, 0x52, 0x73,
0354 0x03, 0xe0, 0xe8, 0x73,
0355 0x23, 0xe0, 0xca, 0x72,
0356 0x08, 0xe0, 0xf0, 0x72,
0357 0x00, 0xe2, 0xf6, 0x5b,
0358 0x07, 0xea, 0x6e, 0x59,
0359 0x07, 0xea, 0x04, 0x00,
0360 0x08, 0x48, 0x29, 0x72,
0361 0x04, 0x48, 0xc7, 0x62,
0362 0x01, 0x49, 0x89, 0x30,
0363 0x00, 0xe2, 0xb8, 0x42,
0364 0x01, 0x44, 0xd4, 0x31,
0365 0x00, 0xe2, 0xb8, 0x42,
0366 0x01, 0x00, 0x6c, 0x32,
0367 0x33, 0xea, 0x68, 0x59,
0368 0x33, 0xea, 0x00, 0x00,
0369 0x4c, 0x3a, 0xc1, 0x28,
0370 0x01, 0x64, 0xc0, 0x31,
0371 0x00, 0x36, 0x69, 0x59,
0372 0x01, 0x36, 0x01, 0x30,
0373 0x01, 0xe0, 0xee, 0x7a,
0374 0xa0, 0xea, 0x08, 0x5c,
0375 0x01, 0xa0, 0xee, 0x62,
0376 0x01, 0x84, 0xe3, 0x7a,
0377 0x01, 0x95, 0xf1, 0x6a,
0378 0x05, 0xea, 0x6e, 0x59,
0379 0x05, 0xea, 0x04, 0x00,
0380 0x00, 0xe2, 0xf0, 0x42,
0381 0x03, 0xea, 0x6e, 0x59,
0382 0x03, 0xea, 0x04, 0x00,
0383 0x00, 0xe2, 0xf0, 0x42,
0384 0x07, 0xea, 0x1a, 0x5c,
0385 0x01, 0x44, 0xd4, 0x31,
0386 0x00, 0xe2, 0x28, 0x42,
0387 0x3f, 0xe0, 0x76, 0x0a,
0388 0xc0, 0x3a, 0xc1, 0x09,
0389 0x00, 0x3b, 0x51, 0x01,
0390 0xff, 0xea, 0x52, 0x09,
0391 0x30, 0x3a, 0xc5, 0x09,
0392 0x3d, 0xe2, 0xc4, 0x29,
0393 0xb8, 0xe2, 0xc4, 0x19,
0394 0x01, 0xea, 0xc6, 0x01,
0395 0x02, 0xe2, 0xc8, 0x31,
0396 0x02, 0xec, 0x40, 0x31,
0397 0xff, 0xa1, 0x10, 0x73,
0398 0x02, 0xe8, 0xda, 0x31,
0399 0x02, 0xa0, 0x50, 0x31,
0400 0x00, 0xe2, 0x32, 0x43,
0401 0x80, 0x39, 0x73, 0x02,
0402 0x01, 0x44, 0xd4, 0x31,
0403 0x00, 0xe2, 0xf6, 0x5b,
0404 0x01, 0x39, 0x73, 0x02,
0405 0xe0, 0x3c, 0x4d, 0x63,
0406 0x02, 0x39, 0x73, 0x02,
0407 0x20, 0x46, 0x46, 0x63,
0408 0xff, 0xea, 0x52, 0x09,
0409 0xa8, 0xea, 0x08, 0x5c,
0410 0x04, 0x92, 0x2d, 0x7b,
0411 0x01, 0x3a, 0xc1, 0x31,
0412 0x00, 0x93, 0x2d, 0x63,
0413 0x01, 0x3b, 0xc1, 0x31,
0414 0x00, 0x94, 0x37, 0x73,
0415 0x01, 0xa9, 0x52, 0x11,
0416 0xff, 0xa9, 0x22, 0x6b,
0417 0x00, 0xe2, 0x46, 0x43,
0418 0x10, 0x39, 0x73, 0x02,
0419 0x04, 0x92, 0x47, 0x7b,
0420 0xfb, 0x92, 0x25, 0x0b,
0421 0xff, 0xea, 0x72, 0x0a,
0422 0x01, 0xa4, 0x41, 0x6b,
0423 0x02, 0xa8, 0x9c, 0x32,
0424 0x00, 0xe2, 0x88, 0x59,
0425 0x10, 0x92, 0xf1, 0x7a,
0426 0xff, 0xea, 0x1a, 0x5c,
0427 0x00, 0xe2, 0xf0, 0x42,
0428 0x04, 0xea, 0x6e, 0x59,
0429 0x04, 0xea, 0x04, 0x00,
0430 0x00, 0xe2, 0xf0, 0x42,
0431 0x04, 0xea, 0x6e, 0x59,
0432 0x04, 0xea, 0x04, 0x00,
0433 0x00, 0xe2, 0x28, 0x42,
0434 0x08, 0x92, 0xe9, 0x7a,
0435 0xc0, 0x39, 0x5d, 0x7b,
0436 0x80, 0x39, 0xe9, 0x6a,
0437 0xff, 0x88, 0x5d, 0x6b,
0438 0x40, 0x39, 0xe9, 0x6a,
0439 0x10, 0x92, 0x63, 0x7b,
0440 0x0a, 0xea, 0x6e, 0x59,
0441 0x0a, 0xea, 0x04, 0x00,
0442 0x00, 0xe2, 0x82, 0x5b,
0443 0x00, 0xe2, 0xc2, 0x43,
0444 0x50, 0x4b, 0x6a, 0x6b,
0445 0xbf, 0x3a, 0x74, 0x08,
0446 0x01, 0xe0, 0xf4, 0x31,
0447 0xff, 0xea, 0xc0, 0x09,
0448 0x01, 0x32, 0x65, 0x1a,
0449 0x00, 0x33, 0x67, 0x22,
0450 0x04, 0x4d, 0x9b, 0x02,
0451 0x01, 0xfa, 0xc0, 0x35,
0452 0x02, 0xa8, 0x90, 0x32,
0453 0x02, 0xea, 0xb4, 0x00,
0454 0x33, 0xea, 0x68, 0x59,
0455 0x33, 0xea, 0x00, 0x00,
0456 0x02, 0x48, 0x51, 0x31,
0457 0xff, 0x90, 0x85, 0x68,
0458 0xff, 0x88, 0x8f, 0x6b,
0459 0x01, 0xa4, 0x8b, 0x6b,
0460 0x02, 0xa4, 0x93, 0x6b,
0461 0x01, 0x84, 0x93, 0x7b,
0462 0x02, 0x28, 0x19, 0x33,
0463 0x02, 0xa8, 0x50, 0x36,
0464 0xff, 0x88, 0x93, 0x73,
0465 0x00, 0xe2, 0x66, 0x5b,
0466 0x02, 0xa8, 0x20, 0x33,
0467 0x04, 0xa4, 0x49, 0x03,
0468 0xff, 0xea, 0x1a, 0x03,
0469 0xff, 0x2d, 0x9f, 0x63,
0470 0x02, 0xa8, 0x58, 0x32,
0471 0x02, 0xa8, 0x5c, 0x36,
0472 0x02, 0xa8, 0x40, 0x31,
0473 0x02, 0x2e, 0x51, 0x31,
0474 0x02, 0xa0, 0x18, 0x33,
0475 0x02, 0xa0, 0x5c, 0x36,
0476 0xc0, 0x39, 0xe9, 0x6a,
0477 0x04, 0x92, 0x25, 0x03,
0478 0x20, 0x92, 0xc3, 0x6b,
0479 0x02, 0xa8, 0x40, 0x31,
0480 0xc0, 0x3a, 0xc1, 0x09,
0481 0x00, 0x3b, 0x51, 0x01,
0482 0xff, 0xea, 0x52, 0x09,
0483 0x30, 0x3a, 0xc5, 0x09,
0484 0x3d, 0xe2, 0xc4, 0x29,
0485 0xb8, 0xe2, 0xc4, 0x19,
0486 0x01, 0xea, 0xc6, 0x01,
0487 0x02, 0xe2, 0xc8, 0x31,
0488 0x02, 0xa0, 0xda, 0x31,
0489 0x02, 0xa0, 0x50, 0x31,
0490 0xf7, 0x57, 0xae, 0x08,
0491 0x08, 0xea, 0x98, 0x00,
0492 0x01, 0x44, 0xd4, 0x31,
0493 0xee, 0x00, 0xcc, 0x6b,
0494 0x02, 0xea, 0xb4, 0x00,
0495 0xc0, 0xea, 0x72, 0x02,
0496 0x09, 0x4c, 0xce, 0x7b,
0497 0x01, 0xea, 0x78, 0x02,
0498 0x08, 0x4c, 0x06, 0x68,
0499 0x0b, 0xea, 0x6e, 0x59,
0500 0x0b, 0xea, 0x04, 0x00,
0501 0x01, 0x44, 0xd4, 0x31,
0502 0x20, 0x39, 0x29, 0x7a,
0503 0x00, 0xe2, 0xe0, 0x5b,
0504 0x00, 0xe2, 0x28, 0x42,
0505 0x01, 0x84, 0xe5, 0x7b,
0506 0x01, 0xa4, 0x49, 0x07,
0507 0x08, 0x60, 0x30, 0x33,
0508 0x08, 0x80, 0x41, 0x37,
0509 0xdf, 0x39, 0x73, 0x0a,
0510 0xee, 0x00, 0xf2, 0x6b,
0511 0x05, 0xea, 0xb4, 0x00,
0512 0x33, 0xea, 0x68, 0x59,
0513 0x33, 0xea, 0x00, 0x00,
0514 0x00, 0xe2, 0x88, 0x59,
0515 0x00, 0xe2, 0xf0, 0x42,
0516 0xff, 0x42, 0x02, 0x6c,
0517 0x01, 0x41, 0xf6, 0x6b,
0518 0x02, 0x41, 0xf6, 0x7b,
0519 0xff, 0x42, 0x02, 0x6c,
0520 0x01, 0x41, 0xf6, 0x6b,
0521 0x02, 0x41, 0xf6, 0x7b,
0522 0xff, 0x42, 0x02, 0x7c,
0523 0x04, 0x4c, 0xf6, 0x6b,
0524 0xe0, 0x41, 0x78, 0x0e,
0525 0x01, 0x44, 0xd4, 0x31,
0526 0xff, 0x42, 0x0a, 0x7c,
0527 0x04, 0x4c, 0x0a, 0x6c,
0528 0xe0, 0x41, 0x78, 0x0a,
0529 0xe0, 0x3c, 0x29, 0x62,
0530 0xff, 0xea, 0xca, 0x09,
0531 0x01, 0xe2, 0xc8, 0x31,
0532 0x01, 0x46, 0xda, 0x35,
0533 0x01, 0x44, 0xd4, 0x35,
0534 0x10, 0xea, 0x80, 0x00,
0535 0x01, 0xe2, 0x6e, 0x36,
0536 0x04, 0xa6, 0x22, 0x7c,
0537 0xff, 0xea, 0x5a, 0x09,
0538 0xff, 0xea, 0x4c, 0x0d,
0539 0x01, 0xa6, 0x4e, 0x6c,
0540 0x10, 0xad, 0x84, 0x78,
0541 0x80, 0xad, 0x46, 0x6c,
0542 0x08, 0xad, 0x84, 0x68,
0543 0x20, 0x19, 0x3a, 0x7c,
0544 0x80, 0xea, 0xb2, 0x01,
0545 0x11, 0x00, 0x00, 0x10,
0546 0x02, 0xa6, 0x36, 0x7c,
0547 0xff, 0xea, 0xb2, 0x0d,
0548 0x11, 0x00, 0x00, 0x10,
0549 0xff, 0xea, 0xb2, 0x09,
0550 0x04, 0x84, 0xf9, 0x30,
0551 0x00, 0xea, 0x08, 0x81,
0552 0xff, 0xea, 0xd4, 0x09,
0553 0x02, 0x84, 0xf9, 0x88,
0554 0x0d, 0xea, 0x5a, 0x01,
0555 0x04, 0xa6, 0x4c, 0x05,
0556 0x04, 0xa6, 0x84, 0x78,
0557 0xff, 0xea, 0x5a, 0x09,
0558 0x03, 0x84, 0x59, 0x89,
0559 0x03, 0xea, 0x4c, 0x01,
0560 0x80, 0x1a, 0x84, 0x78,
0561 0x08, 0x19, 0x84, 0x78,
0562 0x08, 0xb0, 0xe0, 0x30,
0563 0x04, 0xb0, 0xe0, 0x30,
0564 0x03, 0xb0, 0xf0, 0x30,
0565 0x01, 0xb0, 0x06, 0x33,
0566 0x7f, 0x83, 0xe9, 0x08,
0567 0x04, 0xac, 0x58, 0x19,
0568 0xff, 0xea, 0xc0, 0x09,
0569 0x04, 0x84, 0x09, 0x9b,
0570 0x00, 0x85, 0x0b, 0x23,
0571 0x00, 0x86, 0x0d, 0x23,
0572 0x00, 0x87, 0x0f, 0x23,
0573 0x01, 0x84, 0xc5, 0x31,
0574 0x80, 0x83, 0x71, 0x7c,
0575 0x02, 0xe2, 0xc4, 0x01,
0576 0xff, 0xea, 0x4c, 0x09,
0577 0x01, 0xe2, 0x36, 0x30,
0578 0xc8, 0x19, 0x32, 0x00,
0579 0x88, 0x19, 0x32, 0x00,
0580 0x01, 0xac, 0xd4, 0x99,
0581 0x00, 0xe2, 0x84, 0x50,
0582 0xfe, 0xa6, 0x4c, 0x0d,
0583 0x0b, 0x98, 0xe1, 0x30,
0584 0xfd, 0xa4, 0x49, 0x09,
0585 0x80, 0xa3, 0x85, 0x7c,
0586 0x02, 0xa4, 0x48, 0x01,
0587 0x01, 0xa4, 0x36, 0x30,
0588 0xa8, 0xea, 0x32, 0x00,
0589 0xfd, 0xa4, 0x49, 0x0b,
0590 0x05, 0xa3, 0x07, 0x33,
0591 0x80, 0x83, 0x91, 0x6c,
0592 0x02, 0xea, 0x4c, 0x05,
0593 0xff, 0xea, 0x4c, 0x0d,
0594 0x00, 0xe2, 0x60, 0x59,
0595 0x02, 0xa6, 0x24, 0x6c,
0596 0x80, 0xf9, 0xf2, 0x05,
0597 0xc0, 0x39, 0x9f, 0x7c,
0598 0x03, 0xea, 0x6e, 0x59,
0599 0x03, 0xea, 0x04, 0x00,
0600 0x20, 0x39, 0xc3, 0x7c,
0601 0x01, 0x84, 0xa9, 0x6c,
0602 0x06, 0xea, 0x6e, 0x59,
0603 0x06, 0xea, 0x04, 0x00,
0604 0x00, 0xe2, 0xc6, 0x44,
0605 0x01, 0x00, 0x6c, 0x32,
0606 0xee, 0x00, 0xb2, 0x6c,
0607 0x05, 0xea, 0xb4, 0x00,
0608 0x33, 0xea, 0x68, 0x59,
0609 0x33, 0xea, 0x00, 0x00,
0610 0x80, 0x3d, 0x7a, 0x00,
0611 0xfc, 0x42, 0xb4, 0x7c,
0612 0x7f, 0x3d, 0x7a, 0x08,
0613 0x00, 0x36, 0x69, 0x59,
0614 0x01, 0x36, 0x01, 0x30,
0615 0x09, 0xea, 0x6e, 0x59,
0616 0x09, 0xea, 0x04, 0x00,
0617 0x00, 0xe2, 0x28, 0x42,
0618 0x01, 0xa4, 0xa9, 0x6c,
0619 0x00, 0xe2, 0x7c, 0x5c,
0620 0x20, 0x39, 0x73, 0x02,
0621 0x01, 0x00, 0x6c, 0x32,
0622 0x02, 0xa6, 0xce, 0x7c,
0623 0x00, 0xe2, 0x92, 0x5c,
0624 0x00, 0xe2, 0x76, 0x58,
0625 0x00, 0xe2, 0x86, 0x58,
0626 0x00, 0xe2, 0x5a, 0x58,
0627 0x00, 0x36, 0x69, 0x59,
0628 0x01, 0x36, 0x01, 0x30,
0629 0x20, 0x19, 0xce, 0x6c,
0630 0x00, 0xe2, 0xfe, 0x5c,
0631 0x04, 0x19, 0xe8, 0x6c,
0632 0x02, 0x19, 0x32, 0x00,
0633 0x01, 0x84, 0xe9, 0x7c,
0634 0x01, 0x1b, 0xe2, 0x7c,
0635 0x01, 0x1a, 0xe8, 0x6c,
0636 0x00, 0xe2, 0x98, 0x44,
0637 0x80, 0x4b, 0xee, 0x6c,
0638 0x01, 0x4c, 0xea, 0x7c,
0639 0x03, 0x42, 0x98, 0x6c,
0640 0x00, 0xe2, 0x1e, 0x5c,
0641 0x80, 0xf9, 0xf2, 0x01,
0642 0x04, 0x39, 0x29, 0x7a,
0643 0x00, 0xe2, 0x28, 0x42,
0644 0x08, 0x5d, 0x06, 0x6d,
0645 0x00, 0xe2, 0x76, 0x58,
0646 0x00, 0x36, 0x69, 0x59,
0647 0x01, 0x36, 0x01, 0x30,
0648 0x02, 0x1b, 0xf6, 0x7c,
0649 0x08, 0x5d, 0x04, 0x7d,
0650 0x03, 0x68, 0x00, 0x37,
0651 0x01, 0x84, 0x09, 0x07,
0652 0x80, 0x1b, 0x10, 0x7d,
0653 0x80, 0x84, 0x11, 0x6d,
0654 0xff, 0x85, 0x0b, 0x1b,
0655 0xff, 0x86, 0x0d, 0x23,
0656 0xff, 0x87, 0x0f, 0x23,
0657 0xf8, 0x1b, 0x08, 0x0b,
0658 0xff, 0xea, 0x06, 0x0b,
0659 0x03, 0x68, 0x00, 0x37,
0660 0x00, 0xe2, 0xd6, 0x58,
0661 0x10, 0xea, 0x18, 0x00,
0662 0xf9, 0xd9, 0xb2, 0x0d,
0663 0x01, 0xd9, 0xb2, 0x05,
0664 0x01, 0x52, 0x48, 0x31,
0665 0x20, 0xa4, 0x3a, 0x7d,
0666 0x20, 0x5b, 0x3a, 0x7d,
0667 0x80, 0xf9, 0x48, 0x7d,
0668 0x02, 0xea, 0xb4, 0x00,
0669 0x11, 0x00, 0x00, 0x10,
0670 0x04, 0x19, 0x54, 0x7d,
0671 0xdf, 0x19, 0x32, 0x08,
0672 0x60, 0x5b, 0x54, 0x6d,
0673 0x01, 0x4c, 0x2e, 0x7d,
0674 0x20, 0x19, 0x32, 0x00,
0675 0x01, 0xd9, 0xb2, 0x05,
0676 0x02, 0xea, 0xb4, 0x00,
0677 0x01, 0xd9, 0xb2, 0x05,
0678 0x10, 0x5b, 0x4c, 0x6d,
0679 0x08, 0x5b, 0x56, 0x6d,
0680 0x20, 0x5b, 0x46, 0x6d,
0681 0x02, 0x5b, 0x76, 0x6d,
0682 0x0e, 0xea, 0x6e, 0x59,
0683 0x0e, 0xea, 0x04, 0x00,
0684 0x80, 0xf9, 0x36, 0x6d,
0685 0xdf, 0x5c, 0xb8, 0x08,
0686 0x01, 0xd9, 0xb2, 0x05,
0687 0x01, 0xa4, 0x37, 0x6e,
0688 0x00, 0xe2, 0x7c, 0x5c,
0689 0x00, 0xe2, 0x80, 0x5d,
0690 0x01, 0x90, 0x21, 0x1b,
0691 0x01, 0xd9, 0xb2, 0x05,
0692 0x00, 0xe2, 0x66, 0x5b,
0693 0xf3, 0x96, 0xd5, 0x19,
0694 0x00, 0xe2, 0x64, 0x55,
0695 0x80, 0x96, 0x65, 0x6d,
0696 0x0f, 0xea, 0x6e, 0x59,
0697 0x0f, 0xea, 0x04, 0x00,
0698 0x00, 0xe2, 0x6c, 0x45,
0699 0x04, 0x8c, 0xe1, 0x30,
0700 0x01, 0xea, 0xf2, 0x00,
0701 0x02, 0xea, 0x36, 0x00,
0702 0xa8, 0xea, 0x32, 0x00,
0703 0xff, 0x97, 0x73, 0x7d,
0704 0x14, 0xea, 0x6e, 0x59,
0705 0x14, 0xea, 0x04, 0x00,
0706 0x00, 0xe2, 0xe2, 0x5d,
0707 0x01, 0xd9, 0xb2, 0x05,
0708 0x09, 0x80, 0xe1, 0x30,
0709 0x02, 0xea, 0x36, 0x00,
0710 0xa8, 0xea, 0x32, 0x00,
0711 0x00, 0xe2, 0xda, 0x5d,
0712 0x01, 0xd9, 0xb2, 0x05,
0713 0x02, 0xa6, 0x90, 0x7d,
0714 0x00, 0xe2, 0x60, 0x59,
0715 0x20, 0x5b, 0x9e, 0x6d,
0716 0xfc, 0x42, 0x8a, 0x7d,
0717 0x10, 0x40, 0x8c, 0x6d,
0718 0x20, 0x4d, 0x8e, 0x7d,
0719 0x08, 0x5d, 0x9e, 0x6d,
0720 0x02, 0xa6, 0x24, 0x6c,
0721 0x00, 0xe2, 0x60, 0x59,
0722 0x20, 0x5b, 0x9e, 0x6d,
0723 0x01, 0x1b, 0xbe, 0x6d,
0724 0xfc, 0x42, 0x9a, 0x7d,
0725 0x10, 0x40, 0x9c, 0x6d,
0726 0x20, 0x4d, 0x84, 0x78,
0727 0x08, 0x5d, 0x84, 0x78,
0728 0x02, 0x19, 0x32, 0x00,
0729 0x01, 0x5b, 0x40, 0x31,
0730 0x00, 0xe2, 0xfe, 0x5c,
0731 0x00, 0xe2, 0xe0, 0x5b,
0732 0x20, 0xea, 0xb6, 0x00,
0733 0x00, 0xe2, 0x1e, 0x5c,
0734 0x20, 0x5c, 0xb8, 0x00,
0735 0x04, 0x19, 0xb4, 0x6d,
0736 0x01, 0x1a, 0xb4, 0x6d,
0737 0x00, 0xe2, 0x60, 0x59,
0738 0x01, 0x1a, 0x84, 0x78,
0739 0x80, 0xf9, 0xf2, 0x01,
0740 0x20, 0xa0, 0x18, 0x7e,
0741 0xff, 0x90, 0x21, 0x1b,
0742 0x08, 0x92, 0x77, 0x6b,
0743 0x02, 0xea, 0xb4, 0x04,
0744 0x01, 0xa4, 0x49, 0x03,
0745 0x40, 0x5b, 0xce, 0x6d,
0746 0x00, 0xe2, 0x60, 0x59,
0747 0x40, 0x5b, 0xce, 0x6d,
0748 0x04, 0x5d, 0x38, 0x7e,
0749 0x01, 0x1a, 0x38, 0x7e,
0750 0x20, 0x4d, 0x84, 0x78,
0751 0x40, 0x5b, 0x18, 0x7e,
0752 0x04, 0x5d, 0x38, 0x7e,
0753 0x01, 0x1a, 0x38, 0x7e,
0754 0x80, 0xf9, 0xf2, 0x01,
0755 0xff, 0x90, 0x21, 0x1b,
0756 0x08, 0x92, 0x77, 0x6b,
0757 0x02, 0xea, 0xb4, 0x04,
0758 0x00, 0xe2, 0x60, 0x59,
0759 0x01, 0x1b, 0x84, 0x78,
0760 0x80, 0xf9, 0xf2, 0x01,
0761 0x02, 0xea, 0xb4, 0x04,
0762 0x00, 0xe2, 0x60, 0x59,
0763 0x01, 0x1b, 0xf6, 0x6d,
0764 0x40, 0x5b, 0x04, 0x7e,
0765 0x01, 0x1b, 0xf6, 0x6d,
0766 0x02, 0x19, 0x32, 0x00,
0767 0x01, 0x1a, 0x84, 0x78,
0768 0x80, 0xf9, 0xf2, 0x01,
0769 0xff, 0xea, 0x10, 0x03,
0770 0x08, 0x92, 0x25, 0x03,
0771 0x00, 0xe2, 0x76, 0x43,
0772 0x01, 0x1a, 0x00, 0x7e,
0773 0x40, 0x5b, 0xfc, 0x7d,
0774 0x01, 0x1a, 0xea, 0x6d,
0775 0xfc, 0x42, 0x84, 0x78,
0776 0x01, 0x1a, 0x04, 0x6e,
0777 0x10, 0xea, 0x6e, 0x59,
0778 0x10, 0xea, 0x04, 0x00,
0779 0xfc, 0x42, 0x84, 0x78,
0780 0x10, 0x40, 0x0a, 0x6e,
0781 0x20, 0x4d, 0x84, 0x78,
0782 0x40, 0x5b, 0xea, 0x6d,
0783 0x01, 0x1a, 0x84, 0x78,
0784 0x01, 0x90, 0x21, 0x1b,
0785 0x30, 0x3f, 0xc0, 0x09,
0786 0x30, 0xe0, 0x84, 0x60,
0787 0x40, 0x4b, 0x84, 0x68,
0788 0xff, 0xea, 0x52, 0x01,
0789 0xee, 0x00, 0x20, 0x6e,
0790 0x80, 0xf9, 0xf2, 0x01,
0791 0xff, 0x90, 0x21, 0x1b,
0792 0x02, 0xea, 0xb4, 0x00,
0793 0x20, 0xea, 0x9a, 0x00,
0794 0x04, 0x41, 0x26, 0x7e,
0795 0x08, 0xea, 0x98, 0x00,
0796 0x08, 0x57, 0xae, 0x00,
0797 0xf3, 0x42, 0x30, 0x6e,
0798 0x12, 0xea, 0x6e, 0x59,
0799 0x12, 0xea, 0x04, 0x00,
0800 0x00, 0xe2, 0x28, 0x42,
0801 0x0d, 0xea, 0x6e, 0x59,
0802 0x0d, 0xea, 0x04, 0x00,
0803 0x00, 0xe2, 0x28, 0x42,
0804 0x01, 0x90, 0x21, 0x1b,
0805 0x11, 0xea, 0x6e, 0x59,
0806 0x11, 0xea, 0x04, 0x00,
0807 0x00, 0xe2, 0x66, 0x5b,
0808 0x08, 0x5a, 0xb4, 0x00,
0809 0x00, 0xe2, 0x5e, 0x5e,
0810 0xa8, 0xea, 0x32, 0x00,
0811 0x00, 0xe2, 0x60, 0x59,
0812 0x80, 0x1a, 0x4c, 0x7e,
0813 0x00, 0xe2, 0x5e, 0x5e,
0814 0x80, 0x19, 0x32, 0x00,
0815 0x40, 0x5b, 0x52, 0x6e,
0816 0x08, 0x5a, 0x52, 0x7e,
0817 0x20, 0x4d, 0x84, 0x78,
0818 0x02, 0x84, 0x09, 0x03,
0819 0x40, 0x5b, 0x18, 0x7e,
0820 0xff, 0x90, 0x21, 0x1b,
0821 0x80, 0xf9, 0xf2, 0x01,
0822 0x08, 0x92, 0x77, 0x6b,
0823 0x02, 0xea, 0xb4, 0x04,
0824 0x01, 0x40, 0xe1, 0x30,
0825 0x05, 0x41, 0xe3, 0x98,
0826 0x01, 0xe0, 0xf4, 0x31,
0827 0xff, 0xea, 0xc0, 0x09,
0828 0x00, 0x42, 0xe5, 0x20,
0829 0x00, 0x43, 0xe7, 0x20,
0830 0x01, 0xfa, 0xc0, 0x31,
0831 0x04, 0xea, 0xe8, 0x30,
0832 0xff, 0xea, 0xf0, 0x08,
0833 0x02, 0xea, 0xf2, 0x00,
0834 0xff, 0xea, 0xf4, 0x0c
0835 };
0836
0837 typedef int ahd_patch_func_t (struct ahd_softc *ahd);
0838 static ahd_patch_func_t ahd_patch23_func;
0839
0840 static int
0841 ahd_patch23_func(struct ahd_softc *ahd)
0842 {
0843 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0);
0844 }
0845
0846 static ahd_patch_func_t ahd_patch22_func;
0847
0848 static int
0849 ahd_patch22_func(struct ahd_softc *ahd)
0850 {
0851 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) == 0);
0852 }
0853
0854 static ahd_patch_func_t ahd_patch21_func;
0855
0856 static int
0857 ahd_patch21_func(struct ahd_softc *ahd)
0858 {
0859 return ((ahd->flags & AHD_INITIATORROLE) != 0);
0860 }
0861
0862 static ahd_patch_func_t ahd_patch20_func;
0863
0864 static int
0865 ahd_patch20_func(struct ahd_softc *ahd)
0866 {
0867 return ((ahd->flags & AHD_TARGETROLE) != 0);
0868 }
0869
0870 static ahd_patch_func_t ahd_patch19_func;
0871
0872 static int
0873 ahd_patch19_func(struct ahd_softc *ahd)
0874 {
0875 return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
0876 }
0877
0878 static ahd_patch_func_t ahd_patch18_func;
0879
0880 static int
0881 ahd_patch18_func(struct ahd_softc *ahd)
0882 {
0883 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
0884 }
0885
0886 static ahd_patch_func_t ahd_patch17_func;
0887
0888 static int
0889 ahd_patch17_func(struct ahd_softc *ahd)
0890 {
0891 return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
0892 }
0893
0894 static ahd_patch_func_t ahd_patch16_func;
0895
0896 static int
0897 ahd_patch16_func(struct ahd_softc *ahd)
0898 {
0899 return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
0900 }
0901
0902 static ahd_patch_func_t ahd_patch15_func;
0903
0904 static int
0905 ahd_patch15_func(struct ahd_softc *ahd)
0906 {
0907 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
0908 }
0909
0910 static ahd_patch_func_t ahd_patch14_func;
0911
0912 static int
0913 ahd_patch14_func(struct ahd_softc *ahd)
0914 {
0915 return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
0916 }
0917
0918 static ahd_patch_func_t ahd_patch13_func;
0919
0920 static int
0921 ahd_patch13_func(struct ahd_softc *ahd)
0922 {
0923 return ((ahd->features & AHD_RTI) == 0);
0924 }
0925
0926 static ahd_patch_func_t ahd_patch12_func;
0927
0928 static int
0929 ahd_patch12_func(struct ahd_softc *ahd)
0930 {
0931 return ((ahd->bugs & AHD_EARLY_REQ_BUG) != 0);
0932 }
0933
0934 static ahd_patch_func_t ahd_patch11_func;
0935
0936 static int
0937 ahd_patch11_func(struct ahd_softc *ahd)
0938 {
0939 return ((ahd->bugs & AHD_BUSFREEREV_BUG) == 0);
0940 }
0941
0942 static ahd_patch_func_t ahd_patch10_func;
0943
0944 static int
0945 ahd_patch10_func(struct ahd_softc *ahd)
0946 {
0947 return ((ahd->flags & AHD_SEQUENCER_DEBUG) != 0);
0948 }
0949
0950 static ahd_patch_func_t ahd_patch9_func;
0951
0952 static int
0953 ahd_patch9_func(struct ahd_softc *ahd)
0954 {
0955 return ((ahd->features & AHD_FAST_CDB_DELIVERY) != 0);
0956 }
0957
0958 static ahd_patch_func_t ahd_patch8_func;
0959
0960 static int
0961 ahd_patch8_func(struct ahd_softc *ahd)
0962 {
0963 return ((ahd->bugs & AHD_LQO_ATNO_BUG) != 0);
0964 }
0965
0966 static ahd_patch_func_t ahd_patch7_func;
0967
0968 static int
0969 ahd_patch7_func(struct ahd_softc *ahd)
0970 {
0971 return ((ahd->bugs & AHD_BUSFREEREV_BUG) != 0);
0972 }
0973
0974 static ahd_patch_func_t ahd_patch6_func;
0975
0976 static int
0977 ahd_patch6_func(struct ahd_softc *ahd)
0978 {
0979 return ((ahd->bugs & AHD_NONPACKFIFO_BUG) != 0);
0980 }
0981
0982 static ahd_patch_func_t ahd_patch5_func;
0983
0984 static int
0985 ahd_patch5_func(struct ahd_softc *ahd)
0986 {
0987 return ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0);
0988 }
0989
0990 static ahd_patch_func_t ahd_patch4_func;
0991
0992 static int
0993 ahd_patch4_func(struct ahd_softc *ahd)
0994 {
0995 return ((ahd->bugs & AHD_PKT_LUN_BUG) != 0);
0996 }
0997
0998 static ahd_patch_func_t ahd_patch3_func;
0999
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 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
1169 static 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
1189 #define NUM_CRITICAL_SECTIONS ARRAY_SIZE(critical_sections)