aic79xx_seq.h revision 270284
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: stable/10/sys/dev/aic7xxx/aic79xx_seq.h 270284 2014-08-21 17:18:21Z ian $
9 */
10static 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
839typedef int ahd_patch_func_t (struct ahd_softc *ahd);
840static ahd_patch_func_t ahd_patch23_func;
841
842static int
843ahd_patch23_func(struct ahd_softc *ahd)
844{
845	return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0);
846}
847
848static ahd_patch_func_t ahd_patch22_func;
849
850static int
851ahd_patch22_func(struct ahd_softc *ahd)
852{
853	return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) == 0);
854}
855
856static ahd_patch_func_t ahd_patch21_func;
857
858static int
859ahd_patch21_func(struct ahd_softc *ahd)
860{
861	return ((ahd->flags & AHD_INITIATORROLE) != 0);
862}
863
864static ahd_patch_func_t ahd_patch20_func;
865
866static int
867ahd_patch20_func(struct ahd_softc *ahd)
868{
869	return ((ahd->flags & AHD_TARGETROLE) != 0);
870}
871
872static ahd_patch_func_t ahd_patch19_func;
873
874static int
875ahd_patch19_func(struct ahd_softc *ahd)
876{
877	return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
878}
879
880static ahd_patch_func_t ahd_patch18_func;
881
882static int
883ahd_patch18_func(struct ahd_softc *ahd)
884{
885	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
886}
887
888static ahd_patch_func_t ahd_patch17_func;
889
890static int
891ahd_patch17_func(struct ahd_softc *ahd)
892{
893	return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
894}
895
896static ahd_patch_func_t ahd_patch16_func;
897
898static int
899ahd_patch16_func(struct ahd_softc *ahd)
900{
901	return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
902}
903
904static ahd_patch_func_t ahd_patch15_func;
905
906static int
907ahd_patch15_func(struct ahd_softc *ahd)
908{
909	return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
910}
911
912static ahd_patch_func_t ahd_patch14_func;
913
914static int
915ahd_patch14_func(struct ahd_softc *ahd)
916{
917	return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
918}
919
920static ahd_patch_func_t ahd_patch13_func;
921
922static int
923ahd_patch13_func(struct ahd_softc *ahd)
924{
925	return ((ahd->features & AHD_RTI) == 0);
926}
927
928static ahd_patch_func_t ahd_patch12_func;
929
930static int
931ahd_patch12_func(struct ahd_softc *ahd)
932{
933	return ((ahd->bugs & AHD_EARLY_REQ_BUG) != 0);
934}
935
936static ahd_patch_func_t ahd_patch11_func;
937
938static int
939ahd_patch11_func(struct ahd_softc *ahd)
940{
941	return ((ahd->bugs & AHD_BUSFREEREV_BUG) == 0);
942}
943
944static ahd_patch_func_t ahd_patch10_func;
945
946static int
947ahd_patch10_func(struct ahd_softc *ahd)
948{
949	return ((ahd->flags & AHD_SEQUENCER_DEBUG) != 0);
950}
951
952static ahd_patch_func_t ahd_patch9_func;
953
954static int
955ahd_patch9_func(struct ahd_softc *ahd)
956{
957	return ((ahd->features & AHD_FAST_CDB_DELIVERY) != 0);
958}
959
960static ahd_patch_func_t ahd_patch8_func;
961
962static int
963ahd_patch8_func(struct ahd_softc *ahd)
964{
965	return ((ahd->bugs & AHD_LQO_ATNO_BUG) != 0);
966}
967
968static ahd_patch_func_t ahd_patch7_func;
969
970static int
971ahd_patch7_func(struct ahd_softc *ahd)
972{
973	return ((ahd->bugs & AHD_BUSFREEREV_BUG) != 0);
974}
975
976static ahd_patch_func_t ahd_patch6_func;
977
978static int
979ahd_patch6_func(struct ahd_softc *ahd)
980{
981	return ((ahd->bugs & AHD_NONPACKFIFO_BUG) != 0);
982}
983
984static ahd_patch_func_t ahd_patch5_func;
985
986static int
987ahd_patch5_func(struct ahd_softc *ahd)
988{
989	return ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0);
990}
991
992static ahd_patch_func_t ahd_patch4_func;
993
994static int
995ahd_patch4_func(struct ahd_softc *ahd)
996{
997	return ((ahd->bugs & AHD_PKT_LUN_BUG) != 0);
998}
999
1000static ahd_patch_func_t ahd_patch3_func;
1001
1002static int
1003ahd_patch3_func(struct ahd_softc *ahd)
1004{
1005	return ((ahd->bugs & AHD_FAINT_LED_BUG) != 0);
1006}
1007
1008static ahd_patch_func_t ahd_patch2_func;
1009
1010static int
1011ahd_patch2_func(struct ahd_softc *ahd)
1012{
1013	return ((ahd->bugs & AHD_SET_MODE_BUG) != 0);
1014}
1015
1016static ahd_patch_func_t ahd_patch1_func;
1017
1018static int
1019ahd_patch1_func(struct ahd_softc *ahd)
1020{
1021	return ((ahd->bugs & AHD_INTCOLLISION_BUG) != 0);
1022}
1023
1024static ahd_patch_func_t ahd_patch0_func;
1025
1026static int
1027ahd_patch0_func(struct ahd_softc *ahd)
1028{
1029	return (0);
1030}
1031
1032static 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
1171static 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
1191static const int num_critical_sections = sizeof(critical_sections)
1192				       / sizeof(*critical_sections);
1193