]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - sys/dev/aic7xxx/aic79xx_seq.h
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / sys / dev / aic7xxx / aic79xx_seq.h
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);