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