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