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