aic7xxx_reg_print.c revision 270284
1/*
2 * DO NOT EDIT - This file is automatically generated
3 *		 from the following source files:
4 *
5 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
6 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
7 */
8
9#include <sys/cdefs.h>
10__FBSDID("$FreeBSD: stable/10/sys/dev/aic7xxx/aic7xxx_reg_print.c 270284 2014-08-21 17:18:21Z ian $");
11#include <dev/aic7xxx/aic7xxx_osm.h>
12
13static ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
14	{ "SCSIRSTO",		0x01, 0x01 },
15	{ "ENAUTOATNP",		0x02, 0x02 },
16	{ "ENAUTOATNI",		0x04, 0x04 },
17	{ "ENAUTOATNO",		0x08, 0x08 },
18	{ "ENRSELI",		0x10, 0x10 },
19	{ "ENSELI",		0x20, 0x20 },
20	{ "ENSELO",		0x40, 0x40 },
21	{ "TEMODE",		0x80, 0x80 }
22};
23
24int
25ahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
26{
27	return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
28	    0x00, regvalue, cur_col, wrap));
29}
30
31static ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
32	{ "CLRCHN",		0x02, 0x02 },
33	{ "SCAMEN",		0x04, 0x04 },
34	{ "SPIOEN",		0x08, 0x08 },
35	{ "CLRSTCNT",		0x10, 0x10 },
36	{ "FAST20",		0x20, 0x20 },
37	{ "DFPEXP",		0x40, 0x40 },
38	{ "DFON",		0x80, 0x80 }
39};
40
41int
42ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
43{
44	return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
45	    0x01, regvalue, cur_col, wrap));
46}
47
48static ahc_reg_parse_entry_t SXFRCTL1_parse_table[] = {
49	{ "STPWEN",		0x01, 0x01 },
50	{ "ACTNEGEN",		0x02, 0x02 },
51	{ "ENSTIMER",		0x04, 0x04 },
52	{ "ENSPCHK",		0x20, 0x20 },
53	{ "SWRAPEN",		0x40, 0x40 },
54	{ "BITBUCKET",		0x80, 0x80 },
55	{ "STIMESEL",		0x18, 0x18 }
56};
57
58int
59ahc_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
60{
61	return (ahc_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
62	    0x02, regvalue, cur_col, wrap));
63}
64
65static ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
66	{ "ACKI",		0x01, 0x01 },
67	{ "REQI",		0x02, 0x02 },
68	{ "BSYI",		0x04, 0x04 },
69	{ "SELI",		0x08, 0x08 },
70	{ "ATNI",		0x10, 0x10 },
71	{ "MSGI",		0x20, 0x20 },
72	{ "IOI",		0x40, 0x40 },
73	{ "CDI",		0x80, 0x80 },
74	{ "P_DATAOUT",		0x00, 0x00 },
75	{ "P_DATAOUT_DT",	0x20, 0x20 },
76	{ "P_DATAIN",		0x40, 0x40 },
77	{ "P_DATAIN_DT",	0x60, 0x60 },
78	{ "P_COMMAND",		0x80, 0x80 },
79	{ "P_MESGOUT",		0xa0, 0xa0 },
80	{ "P_STATUS",		0xc0, 0xc0 },
81	{ "PHASE_MASK",		0xe0, 0xe0 },
82	{ "P_MESGIN",		0xe0, 0xe0 }
83};
84
85int
86ahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
87{
88	return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
89	    0x03, regvalue, cur_col, wrap));
90}
91
92static ahc_reg_parse_entry_t SCSISIGO_parse_table[] = {
93	{ "ACKO",		0x01, 0x01 },
94	{ "REQO",		0x02, 0x02 },
95	{ "BSYO",		0x04, 0x04 },
96	{ "SELO",		0x08, 0x08 },
97	{ "ATNO",		0x10, 0x10 },
98	{ "MSGO",		0x20, 0x20 },
99	{ "IOO",		0x40, 0x40 },
100	{ "CDO",		0x80, 0x80 },
101	{ "P_DATAOUT",		0x00, 0x00 },
102	{ "P_DATAIN",		0x40, 0x40 },
103	{ "P_COMMAND",		0x80, 0x80 },
104	{ "P_MESGOUT",		0xa0, 0xa0 },
105	{ "P_STATUS",		0xc0, 0xc0 },
106	{ "PHASE_MASK",		0xe0, 0xe0 },
107	{ "P_MESGIN",		0xe0, 0xe0 }
108};
109
110int
111ahc_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
112{
113	return (ahc_print_register(SCSISIGO_parse_table, 15, "SCSISIGO",
114	    0x03, regvalue, cur_col, wrap));
115}
116
117static ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
118	{ "SINGLE_EDGE",	0x10, 0x10 },
119	{ "ENABLE_CRC",		0x40, 0x40 },
120	{ "WIDEXFER",		0x80, 0x80 },
121	{ "SXFR_ULTRA2",	0x0f, 0x0f },
122	{ "SOFS",		0x0f, 0x0f },
123	{ "SXFR",		0x70, 0x70 }
124};
125
126int
127ahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
128{
129	return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE",
130	    0x04, regvalue, cur_col, wrap));
131}
132
133static ahc_reg_parse_entry_t SCSIID_parse_table[] = {
134	{ "TWIN_CHNLB",		0x80, 0x80 },
135	{ "OID",		0x0f, 0x0f },
136	{ "TWIN_TID",		0x70, 0x70 },
137	{ "SOFS_ULTRA2",	0x7f, 0x7f },
138	{ "TID",		0xf0, 0xf0 }
139};
140
141int
142ahc_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
143{
144	return (ahc_print_register(SCSIID_parse_table, 5, "SCSIID",
145	    0x05, regvalue, cur_col, wrap));
146}
147
148int
149ahc_scsidatl_print(u_int regvalue, u_int *cur_col, u_int wrap)
150{
151	return (ahc_print_register(NULL, 0, "SCSIDATL",
152	    0x06, regvalue, cur_col, wrap));
153}
154
155int
156ahc_scsidath_print(u_int regvalue, u_int *cur_col, u_int wrap)
157{
158	return (ahc_print_register(NULL, 0, "SCSIDATH",
159	    0x07, regvalue, cur_col, wrap));
160}
161
162static ahc_reg_parse_entry_t OPTIONMODE_parse_table[] = {
163	{ "DIS_MSGIN_DUALEDGE",	0x01, 0x01 },
164	{ "AUTO_MSGOUT_DE",	0x02, 0x02 },
165	{ "SCSIDATL_IMGEN",	0x04, 0x04 },
166	{ "EXPPHASEDIS",	0x08, 0x08 },
167	{ "BUSFREEREV",		0x10, 0x10 },
168	{ "ATNMGMNTEN",		0x20, 0x20 },
169	{ "AUTOACKEN",		0x40, 0x40 },
170	{ "AUTORATEEN",		0x80, 0x80 },
171	{ "OPTIONMODE_DEFAULTS",0x03, 0x03 }
172};
173
174int
175ahc_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
176{
177	return (ahc_print_register(OPTIONMODE_parse_table, 9, "OPTIONMODE",
178	    0x08, regvalue, cur_col, wrap));
179}
180
181int
182ahc_stcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
183{
184	return (ahc_print_register(NULL, 0, "STCNT",
185	    0x08, regvalue, cur_col, wrap));
186}
187
188int
189ahc_targcrccnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
190{
191	return (ahc_print_register(NULL, 0, "TARGCRCCNT",
192	    0x0a, regvalue, cur_col, wrap));
193}
194
195static ahc_reg_parse_entry_t CLRSINT0_parse_table[] = {
196	{ "CLRSPIORDY",		0x02, 0x02 },
197	{ "CLRSWRAP",		0x08, 0x08 },
198	{ "CLRIOERR",		0x08, 0x08 },
199	{ "CLRSELINGO",		0x10, 0x10 },
200	{ "CLRSELDI",		0x20, 0x20 },
201	{ "CLRSELDO",		0x40, 0x40 }
202};
203
204int
205ahc_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
206{
207	return (ahc_print_register(CLRSINT0_parse_table, 6, "CLRSINT0",
208	    0x0b, regvalue, cur_col, wrap));
209}
210
211static ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
212	{ "DMADONE",		0x01, 0x01 },
213	{ "SPIORDY",		0x02, 0x02 },
214	{ "SDONE",		0x04, 0x04 },
215	{ "SWRAP",		0x08, 0x08 },
216	{ "IOERR",		0x08, 0x08 },
217	{ "SELINGO",		0x10, 0x10 },
218	{ "SELDI",		0x20, 0x20 },
219	{ "SELDO",		0x40, 0x40 },
220	{ "TARGET",		0x80, 0x80 }
221};
222
223int
224ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
225{
226	return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
227	    0x0b, regvalue, cur_col, wrap));
228}
229
230static ahc_reg_parse_entry_t CLRSINT1_parse_table[] = {
231	{ "CLRREQINIT",		0x01, 0x01 },
232	{ "CLRPHASECHG",	0x02, 0x02 },
233	{ "CLRSCSIPERR",	0x04, 0x04 },
234	{ "CLRBUSFREE",		0x08, 0x08 },
235	{ "CLRSCSIRSTI",	0x20, 0x20 },
236	{ "CLRATNO",		0x40, 0x40 },
237	{ "CLRSELTIMEO",	0x80, 0x80 }
238};
239
240int
241ahc_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
242{
243	return (ahc_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
244	    0x0c, regvalue, cur_col, wrap));
245}
246
247static ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
248	{ "REQINIT",		0x01, 0x01 },
249	{ "PHASECHG",		0x02, 0x02 },
250	{ "SCSIPERR",		0x04, 0x04 },
251	{ "BUSFREE",		0x08, 0x08 },
252	{ "PHASEMIS",		0x10, 0x10 },
253	{ "SCSIRSTI",		0x20, 0x20 },
254	{ "ATNTARG",		0x40, 0x40 },
255	{ "SELTO",		0x80, 0x80 }
256};
257
258int
259ahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
260{
261	return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
262	    0x0c, regvalue, cur_col, wrap));
263}
264
265static ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
266	{ "DUAL_EDGE_ERR",	0x01, 0x01 },
267	{ "CRCREQERR",		0x02, 0x02 },
268	{ "CRCENDERR",		0x04, 0x04 },
269	{ "CRCVALERR",		0x08, 0x08 },
270	{ "EXP_ACTIVE",		0x10, 0x10 },
271	{ "SHVALID",		0x40, 0x40 },
272	{ "OVERRUN",		0x80, 0x80 },
273	{ "SFCNT",		0x1f, 0x1f }
274};
275
276int
277ahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
278{
279	return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
280	    0x0d, regvalue, cur_col, wrap));
281}
282
283static ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
284	{ "OFFCNT",		0x0f, 0x0f },
285	{ "U2OFFCNT",		0x7f, 0x7f },
286	{ "SCSICNT",		0xf0, 0xf0 }
287};
288
289int
290ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
291{
292	return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
293	    0x0e, regvalue, cur_col, wrap));
294}
295
296static ahc_reg_parse_entry_t SCSIID_ULTRA2_parse_table[] = {
297	{ "OID",		0x0f, 0x0f },
298	{ "TID",		0xf0, 0xf0 }
299};
300
301int
302ahc_scsiid_ultra2_print(u_int regvalue, u_int *cur_col, u_int wrap)
303{
304	return (ahc_print_register(SCSIID_ULTRA2_parse_table, 2, "SCSIID_ULTRA2",
305	    0x0f, regvalue, cur_col, wrap));
306}
307
308static ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
309	{ "ENDMADONE",		0x01, 0x01 },
310	{ "ENSPIORDY",		0x02, 0x02 },
311	{ "ENSDONE",		0x04, 0x04 },
312	{ "ENSWRAP",		0x08, 0x08 },
313	{ "ENIOERR",		0x08, 0x08 },
314	{ "ENSELINGO",		0x10, 0x10 },
315	{ "ENSELDI",		0x20, 0x20 },
316	{ "ENSELDO",		0x40, 0x40 }
317};
318
319int
320ahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
321{
322	return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
323	    0x10, regvalue, cur_col, wrap));
324}
325
326static ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
327	{ "ENREQINIT",		0x01, 0x01 },
328	{ "ENPHASECHG",		0x02, 0x02 },
329	{ "ENSCSIPERR",		0x04, 0x04 },
330	{ "ENBUSFREE",		0x08, 0x08 },
331	{ "ENPHASEMIS",		0x10, 0x10 },
332	{ "ENSCSIRST",		0x20, 0x20 },
333	{ "ENATNTARG",		0x40, 0x40 },
334	{ "ENSELTIMO",		0x80, 0x80 }
335};
336
337int
338ahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
339{
340	return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
341	    0x11, regvalue, cur_col, wrap));
342}
343
344int
345ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
346{
347	return (ahc_print_register(NULL, 0, "SCSIBUSL",
348	    0x12, regvalue, cur_col, wrap));
349}
350
351static ahc_reg_parse_entry_t SXFRCTL2_parse_table[] = {
352	{ "CMDDMAEN",		0x08, 0x08 },
353	{ "AUTORSTDIS",		0x10, 0x10 },
354	{ "ASYNC_SETUP",	0x07, 0x07 }
355};
356
357int
358ahc_sxfrctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
359{
360	return (ahc_print_register(SXFRCTL2_parse_table, 3, "SXFRCTL2",
361	    0x13, regvalue, cur_col, wrap));
362}
363
364int
365ahc_scsibush_print(u_int regvalue, u_int *cur_col, u_int wrap)
366{
367	return (ahc_print_register(NULL, 0, "SCSIBUSH",
368	    0x13, regvalue, cur_col, wrap));
369}
370
371int
372ahc_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
373{
374	return (ahc_print_register(NULL, 0, "SHADDR",
375	    0x14, regvalue, cur_col, wrap));
376}
377
378static ahc_reg_parse_entry_t SELTIMER_parse_table[] = {
379	{ "STAGE1",		0x01, 0x01 },
380	{ "STAGE2",		0x02, 0x02 },
381	{ "STAGE3",		0x04, 0x04 },
382	{ "STAGE4",		0x08, 0x08 },
383	{ "STAGE5",		0x10, 0x10 },
384	{ "STAGE6",		0x20, 0x20 }
385};
386
387int
388ahc_seltimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
389{
390	return (ahc_print_register(SELTIMER_parse_table, 6, "SELTIMER",
391	    0x18, regvalue, cur_col, wrap));
392}
393
394static ahc_reg_parse_entry_t SELID_parse_table[] = {
395	{ "ONEBIT",		0x08, 0x08 },
396	{ "SELID_MASK",		0xf0, 0xf0 }
397};
398
399int
400ahc_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
401{
402	return (ahc_print_register(SELID_parse_table, 2, "SELID",
403	    0x19, regvalue, cur_col, wrap));
404}
405
406static ahc_reg_parse_entry_t SCAMCTL_parse_table[] = {
407	{ "DFLTTID",		0x10, 0x10 },
408	{ "ALTSTIM",		0x20, 0x20 },
409	{ "CLRSCAMSELID",	0x40, 0x40 },
410	{ "ENSCAMSELO",		0x80, 0x80 },
411	{ "SCAMLVL",		0x03, 0x03 }
412};
413
414int
415ahc_scamctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
416{
417	return (ahc_print_register(SCAMCTL_parse_table, 5, "SCAMCTL",
418	    0x1a, regvalue, cur_col, wrap));
419}
420
421int
422ahc_targid_print(u_int regvalue, u_int *cur_col, u_int wrap)
423{
424	return (ahc_print_register(NULL, 0, "TARGID",
425	    0x1b, regvalue, cur_col, wrap));
426}
427
428static ahc_reg_parse_entry_t SPIOCAP_parse_table[] = {
429	{ "SSPIOCPS",		0x01, 0x01 },
430	{ "ROM",		0x02, 0x02 },
431	{ "EEPROM",		0x04, 0x04 },
432	{ "SEEPROM",		0x08, 0x08 },
433	{ "EXT_BRDCTL",		0x10, 0x10 },
434	{ "SOFTCMDEN",		0x20, 0x20 },
435	{ "SOFT0",		0x40, 0x40 },
436	{ "SOFT1",		0x80, 0x80 }
437};
438
439int
440ahc_spiocap_print(u_int regvalue, u_int *cur_col, u_int wrap)
441{
442	return (ahc_print_register(SPIOCAP_parse_table, 8, "SPIOCAP",
443	    0x1b, regvalue, cur_col, wrap));
444}
445
446static ahc_reg_parse_entry_t BRDCTL_parse_table[] = {
447	{ "BRDCTL0",		0x01, 0x01 },
448	{ "BRDSTB_ULTRA2",	0x01, 0x01 },
449	{ "BRDCTL1",		0x02, 0x02 },
450	{ "BRDRW_ULTRA2",	0x02, 0x02 },
451	{ "BRDRW",		0x04, 0x04 },
452	{ "BRDDAT2",		0x04, 0x04 },
453	{ "BRDCS",		0x08, 0x08 },
454	{ "BRDDAT3",		0x08, 0x08 },
455	{ "BRDSTB",		0x10, 0x10 },
456	{ "BRDDAT4",		0x10, 0x10 },
457	{ "BRDDAT5",		0x20, 0x20 },
458	{ "BRDDAT6",		0x40, 0x40 },
459	{ "BRDDAT7",		0x80, 0x80 }
460};
461
462int
463ahc_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
464{
465	return (ahc_print_register(BRDCTL_parse_table, 13, "BRDCTL",
466	    0x1d, regvalue, cur_col, wrap));
467}
468
469static ahc_reg_parse_entry_t SEECTL_parse_table[] = {
470	{ "SEEDI",		0x01, 0x01 },
471	{ "SEEDO",		0x02, 0x02 },
472	{ "SEECK",		0x04, 0x04 },
473	{ "SEECS",		0x08, 0x08 },
474	{ "SEERDY",		0x10, 0x10 },
475	{ "SEEMS",		0x20, 0x20 },
476	{ "EXTARBREQ",		0x40, 0x40 },
477	{ "EXTARBACK",		0x80, 0x80 }
478};
479
480int
481ahc_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
482{
483	return (ahc_print_register(SEECTL_parse_table, 8, "SEECTL",
484	    0x1e, regvalue, cur_col, wrap));
485}
486
487static ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
488	{ "XCVR",		0x01, 0x01 },
489	{ "SELWIDE",		0x02, 0x02 },
490	{ "ENAB20",		0x04, 0x04 },
491	{ "SELBUSB",		0x08, 0x08 },
492	{ "ENAB40",		0x08, 0x08 },
493	{ "AUTOFLUSHDIS",	0x20, 0x20 },
494	{ "DIAGLEDON",		0x40, 0x40 },
495	{ "DIAGLEDEN",		0x80, 0x80 }
496};
497
498int
499ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
500{
501	return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
502	    0x1f, regvalue, cur_col, wrap));
503}
504
505int
506ahc_busy_targets_print(u_int regvalue, u_int *cur_col, u_int wrap)
507{
508	return (ahc_print_register(NULL, 0, "BUSY_TARGETS",
509	    0x20, regvalue, cur_col, wrap));
510}
511
512int
513ahc_ultra_enb_print(u_int regvalue, u_int *cur_col, u_int wrap)
514{
515	return (ahc_print_register(NULL, 0, "ULTRA_ENB",
516	    0x30, regvalue, cur_col, wrap));
517}
518
519int
520ahc_disc_dsb_print(u_int regvalue, u_int *cur_col, u_int wrap)
521{
522	return (ahc_print_register(NULL, 0, "DISC_DSB",
523	    0x32, regvalue, cur_col, wrap));
524}
525
526int
527ahc_cmdsize_table_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
528{
529	return (ahc_print_register(NULL, 0, "CMDSIZE_TABLE_TAIL",
530	    0x34, regvalue, cur_col, wrap));
531}
532
533int
534ahc_mwi_residual_print(u_int regvalue, u_int *cur_col, u_int wrap)
535{
536	return (ahc_print_register(NULL, 0, "MWI_RESIDUAL",
537	    0x38, regvalue, cur_col, wrap));
538}
539
540int
541ahc_next_queued_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
542{
543	return (ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB",
544	    0x39, regvalue, cur_col, wrap));
545}
546
547int
548ahc_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
549{
550	return (ahc_print_register(NULL, 0, "MSG_OUT",
551	    0x3a, regvalue, cur_col, wrap));
552}
553
554static ahc_reg_parse_entry_t DMAPARAMS_parse_table[] = {
555	{ "FIFORESET",		0x01, 0x01 },
556	{ "FIFOFLUSH",		0x02, 0x02 },
557	{ "DIRECTION",		0x04, 0x04 },
558	{ "HDMAEN",		0x08, 0x08 },
559	{ "HDMAENACK",		0x08, 0x08 },
560	{ "SDMAEN",		0x10, 0x10 },
561	{ "SDMAENACK",		0x10, 0x10 },
562	{ "SCSIEN",		0x20, 0x20 },
563	{ "WIDEODD",		0x40, 0x40 },
564	{ "PRELOADEN",		0x80, 0x80 }
565};
566
567int
568ahc_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
569{
570	return (ahc_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
571	    0x3b, regvalue, cur_col, wrap));
572}
573
574static ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
575	{ "NO_DISCONNECT",	0x01, 0x01 },
576	{ "SPHASE_PENDING",	0x02, 0x02 },
577	{ "DPHASE_PENDING",	0x04, 0x04 },
578	{ "CMDPHASE_PENDING",	0x08, 0x08 },
579	{ "TARG_CMD_PENDING",	0x10, 0x10 },
580	{ "DPHASE",		0x20, 0x20 },
581	{ "NO_CDB_SENT",	0x40, 0x40 },
582	{ "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
583	{ "NOT_IDENTIFIED",	0x80, 0x80 }
584};
585
586int
587ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
588{
589	return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
590	    0x3c, regvalue, cur_col, wrap));
591}
592
593int
594ahc_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
595{
596	return (ahc_print_register(NULL, 0, "SAVED_SCSIID",
597	    0x3d, regvalue, cur_col, wrap));
598}
599
600int
601ahc_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
602{
603	return (ahc_print_register(NULL, 0, "SAVED_LUN",
604	    0x3e, regvalue, cur_col, wrap));
605}
606
607static ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
608	{ "MSGI",		0x20, 0x20 },
609	{ "IOI",		0x40, 0x40 },
610	{ "CDI",		0x80, 0x80 },
611	{ "P_DATAOUT",		0x00, 0x00 },
612	{ "P_BUSFREE",		0x01, 0x01 },
613	{ "P_DATAIN",		0x40, 0x40 },
614	{ "P_COMMAND",		0x80, 0x80 },
615	{ "P_MESGOUT",		0xa0, 0xa0 },
616	{ "P_STATUS",		0xc0, 0xc0 },
617	{ "PHASE_MASK",		0xe0, 0xe0 },
618	{ "P_MESGIN",		0xe0, 0xe0 }
619};
620
621int
622ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
623{
624	return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
625	    0x3f, regvalue, cur_col, wrap));
626}
627
628int
629ahc_waiting_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
630{
631	return (ahc_print_register(NULL, 0, "WAITING_SCBH",
632	    0x40, regvalue, cur_col, wrap));
633}
634
635int
636ahc_disconnected_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
637{
638	return (ahc_print_register(NULL, 0, "DISCONNECTED_SCBH",
639	    0x41, regvalue, cur_col, wrap));
640}
641
642int
643ahc_free_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
644{
645	return (ahc_print_register(NULL, 0, "FREE_SCBH",
646	    0x42, regvalue, cur_col, wrap));
647}
648
649int
650ahc_complete_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
651{
652	return (ahc_print_register(NULL, 0, "COMPLETE_SCBH",
653	    0x43, regvalue, cur_col, wrap));
654}
655
656int
657ahc_hscb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
658{
659	return (ahc_print_register(NULL, 0, "HSCB_ADDR",
660	    0x44, regvalue, cur_col, wrap));
661}
662
663int
664ahc_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
665{
666	return (ahc_print_register(NULL, 0, "SHARED_DATA_ADDR",
667	    0x48, regvalue, cur_col, wrap));
668}
669
670int
671ahc_kernel_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
672{
673	return (ahc_print_register(NULL, 0, "KERNEL_QINPOS",
674	    0x4c, regvalue, cur_col, wrap));
675}
676
677int
678ahc_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
679{
680	return (ahc_print_register(NULL, 0, "QINPOS",
681	    0x4d, regvalue, cur_col, wrap));
682}
683
684int
685ahc_qoutpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
686{
687	return (ahc_print_register(NULL, 0, "QOUTPOS",
688	    0x4e, regvalue, cur_col, wrap));
689}
690
691int
692ahc_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
693{
694	return (ahc_print_register(NULL, 0, "KERNEL_TQINPOS",
695	    0x4f, regvalue, cur_col, wrap));
696}
697
698int
699ahc_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
700{
701	return (ahc_print_register(NULL, 0, "TQINPOS",
702	    0x50, regvalue, cur_col, wrap));
703}
704
705static ahc_reg_parse_entry_t ARG_1_parse_table[] = {
706	{ "SPARE",		0x01, 0x01 },
707	{ "CONT_TARG_SESSION",	0x02, 0x02 },
708	{ "CONT_MSG_LOOP",	0x04, 0x04 },
709	{ "EXIT_MSG_LOOP",	0x08, 0x08 },
710	{ "MSGOUT_PHASEMIS",	0x10, 0x10 },
711	{ "SEND_REJ",		0x20, 0x20 },
712	{ "SEND_SENSE",		0x40, 0x40 },
713	{ "SEND_MSG",		0x80, 0x80 }
714};
715
716int
717ahc_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
718{
719	return (ahc_print_register(ARG_1_parse_table, 8, "ARG_1",
720	    0x51, regvalue, cur_col, wrap));
721}
722
723int
724ahc_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
725{
726	return (ahc_print_register(NULL, 0, "ARG_2",
727	    0x52, regvalue, cur_col, wrap));
728}
729
730int
731ahc_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
732{
733	return (ahc_print_register(NULL, 0, "LAST_MSG",
734	    0x53, regvalue, cur_col, wrap));
735}
736
737static ahc_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
738	{ "ENAUTOATNP",		0x02, 0x02 },
739	{ "ENAUTOATNI",		0x04, 0x04 },
740	{ "ENAUTOATNO",		0x08, 0x08 },
741	{ "ENRSELI",		0x10, 0x10 },
742	{ "ENSELI",		0x20, 0x20 },
743	{ "ENSELO",		0x40, 0x40 }
744};
745
746int
747ahc_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
748{
749	return (ahc_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
750	    0x54, regvalue, cur_col, wrap));
751}
752
753static ahc_reg_parse_entry_t HA_274_BIOSGLOBAL_parse_table[] = {
754	{ "HA_274_EXTENDED_TRANS",0x01, 0x01 }
755};
756
757int
758ahc_ha_274_biosglobal_print(u_int regvalue, u_int *cur_col, u_int wrap)
759{
760	return (ahc_print_register(HA_274_BIOSGLOBAL_parse_table, 1, "HA_274_BIOSGLOBAL",
761	    0x56, regvalue, cur_col, wrap));
762}
763
764static ahc_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
765	{ "SCB_DMA",		0x01, 0x01 },
766	{ "TARGET_MSG_PENDING",	0x02, 0x02 }
767};
768
769int
770ahc_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
771{
772	return (ahc_print_register(SEQ_FLAGS2_parse_table, 2, "SEQ_FLAGS2",
773	    0x57, regvalue, cur_col, wrap));
774}
775
776static ahc_reg_parse_entry_t SCSICONF_parse_table[] = {
777	{ "ENSPCHK",		0x20, 0x20 },
778	{ "RESET_SCSI",		0x40, 0x40 },
779	{ "TERM_ENB",		0x80, 0x80 },
780	{ "HSCSIID",		0x07, 0x07 },
781	{ "HWSCSIID",		0x0f, 0x0f }
782};
783
784int
785ahc_scsiconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
786{
787	return (ahc_print_register(SCSICONF_parse_table, 5, "SCSICONF",
788	    0x5a, regvalue, cur_col, wrap));
789}
790
791static ahc_reg_parse_entry_t INTDEF_parse_table[] = {
792	{ "EDGE_TRIG",		0x80, 0x80 },
793	{ "VECTOR",		0x0f, 0x0f }
794};
795
796int
797ahc_intdef_print(u_int regvalue, u_int *cur_col, u_int wrap)
798{
799	return (ahc_print_register(INTDEF_parse_table, 2, "INTDEF",
800	    0x5c, regvalue, cur_col, wrap));
801}
802
803int
804ahc_hostconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
805{
806	return (ahc_print_register(NULL, 0, "HOSTCONF",
807	    0x5d, regvalue, cur_col, wrap));
808}
809
810static ahc_reg_parse_entry_t HA_274_BIOSCTRL_parse_table[] = {
811	{ "CHANNEL_B_PRIMARY",	0x08, 0x08 },
812	{ "BIOSMODE",		0x30, 0x30 },
813	{ "BIOSDISABLED",	0x30, 0x30 }
814};
815
816int
817ahc_ha_274_biosctrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
818{
819	return (ahc_print_register(HA_274_BIOSCTRL_parse_table, 3, "HA_274_BIOSCTRL",
820	    0x5f, regvalue, cur_col, wrap));
821}
822
823static ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
824	{ "LOADRAM",		0x01, 0x01 },
825	{ "SEQRESET",		0x02, 0x02 },
826	{ "STEP",		0x04, 0x04 },
827	{ "BRKADRINTEN",	0x08, 0x08 },
828	{ "FASTMODE",		0x10, 0x10 },
829	{ "FAILDIS",		0x20, 0x20 },
830	{ "PAUSEDIS",		0x40, 0x40 },
831	{ "PERRORDIS",		0x80, 0x80 }
832};
833
834int
835ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
836{
837	return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
838	    0x60, regvalue, cur_col, wrap));
839}
840
841int
842ahc_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
843{
844	return (ahc_print_register(NULL, 0, "SEQRAM",
845	    0x61, regvalue, cur_col, wrap));
846}
847
848int
849ahc_seqaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap)
850{
851	return (ahc_print_register(NULL, 0, "SEQADDR0",
852	    0x62, regvalue, cur_col, wrap));
853}
854
855static ahc_reg_parse_entry_t SEQADDR1_parse_table[] = {
856	{ "SEQADDR1_MASK",	0x01, 0x01 }
857};
858
859int
860ahc_seqaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap)
861{
862	return (ahc_print_register(SEQADDR1_parse_table, 1, "SEQADDR1",
863	    0x63, regvalue, cur_col, wrap));
864}
865
866int
867ahc_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
868{
869	return (ahc_print_register(NULL, 0, "ACCUM",
870	    0x64, regvalue, cur_col, wrap));
871}
872
873int
874ahc_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
875{
876	return (ahc_print_register(NULL, 0, "SINDEX",
877	    0x65, regvalue, cur_col, wrap));
878}
879
880int
881ahc_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
882{
883	return (ahc_print_register(NULL, 0, "DINDEX",
884	    0x66, regvalue, cur_col, wrap));
885}
886
887int
888ahc_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
889{
890	return (ahc_print_register(NULL, 0, "ALLONES",
891	    0x69, regvalue, cur_col, wrap));
892}
893
894int
895ahc_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
896{
897	return (ahc_print_register(NULL, 0, "NONE",
898	    0x6a, regvalue, cur_col, wrap));
899}
900
901int
902ahc_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
903{
904	return (ahc_print_register(NULL, 0, "ALLZEROS",
905	    0x6a, regvalue, cur_col, wrap));
906}
907
908static ahc_reg_parse_entry_t FLAGS_parse_table[] = {
909	{ "CARRY",		0x01, 0x01 },
910	{ "ZERO",		0x02, 0x02 }
911};
912
913int
914ahc_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
915{
916	return (ahc_print_register(FLAGS_parse_table, 2, "FLAGS",
917	    0x6b, regvalue, cur_col, wrap));
918}
919
920int
921ahc_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
922{
923	return (ahc_print_register(NULL, 0, "SINDIR",
924	    0x6c, regvalue, cur_col, wrap));
925}
926
927int
928ahc_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
929{
930	return (ahc_print_register(NULL, 0, "DINDIR",
931	    0x6d, regvalue, cur_col, wrap));
932}
933
934int
935ahc_function1_print(u_int regvalue, u_int *cur_col, u_int wrap)
936{
937	return (ahc_print_register(NULL, 0, "FUNCTION1",
938	    0x6e, regvalue, cur_col, wrap));
939}
940
941int
942ahc_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
943{
944	return (ahc_print_register(NULL, 0, "STACK",
945	    0x6f, regvalue, cur_col, wrap));
946}
947
948int
949ahc_targ_offset_print(u_int regvalue, u_int *cur_col, u_int wrap)
950{
951	return (ahc_print_register(NULL, 0, "TARG_OFFSET",
952	    0x70, regvalue, cur_col, wrap));
953}
954
955int
956ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
957{
958	return (ahc_print_register(NULL, 0, "SRAM_BASE",
959	    0x70, regvalue, cur_col, wrap));
960}
961
962static ahc_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
963	{ "CIOPARCKEN",		0x01, 0x01 },
964	{ "USCBSIZE32",		0x02, 0x02 },
965	{ "RAMPS",		0x04, 0x04 },
966	{ "INTSCBRAMSEL",	0x08, 0x08 },
967	{ "EXTREQLCK",		0x10, 0x10 },
968	{ "MPARCKEN",		0x20, 0x20 },
969	{ "DPARCKEN",		0x40, 0x40 },
970	{ "CACHETHEN",		0x80, 0x80 }
971};
972
973int
974ahc_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
975{
976	return (ahc_print_register(DSCOMMAND0_parse_table, 8, "DSCOMMAND0",
977	    0x84, regvalue, cur_col, wrap));
978}
979
980static ahc_reg_parse_entry_t BCTL_parse_table[] = {
981	{ "ENABLE",		0x01, 0x01 },
982	{ "ACE",		0x08, 0x08 }
983};
984
985int
986ahc_bctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
987{
988	return (ahc_print_register(BCTL_parse_table, 2, "BCTL",
989	    0x84, regvalue, cur_col, wrap));
990}
991
992static ahc_reg_parse_entry_t BUSTIME_parse_table[] = {
993	{ "BON",		0x0f, 0x0f },
994	{ "BOFF",		0xf0, 0xf0 }
995};
996
997int
998ahc_bustime_print(u_int regvalue, u_int *cur_col, u_int wrap)
999{
1000	return (ahc_print_register(BUSTIME_parse_table, 2, "BUSTIME",
1001	    0x85, regvalue, cur_col, wrap));
1002}
1003
1004static ahc_reg_parse_entry_t DSCOMMAND1_parse_table[] = {
1005	{ "HADDLDSEL0",		0x01, 0x01 },
1006	{ "HADDLDSEL1",		0x02, 0x02 },
1007	{ "DSLATT",		0xfc, 0xfc }
1008};
1009
1010int
1011ahc_dscommand1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1012{
1013	return (ahc_print_register(DSCOMMAND1_parse_table, 3, "DSCOMMAND1",
1014	    0x85, regvalue, cur_col, wrap));
1015}
1016
1017static ahc_reg_parse_entry_t BUSSPD_parse_table[] = {
1018	{ "STBON",		0x07, 0x07 },
1019	{ "STBOFF",		0x38, 0x38 },
1020	{ "DFTHRSH_75",		0x80, 0x80 },
1021	{ "DFTHRSH",		0xc0, 0xc0 },
1022	{ "DFTHRSH_100",	0xc0, 0xc0 }
1023};
1024
1025int
1026ahc_busspd_print(u_int regvalue, u_int *cur_col, u_int wrap)
1027{
1028	return (ahc_print_register(BUSSPD_parse_table, 5, "BUSSPD",
1029	    0x86, regvalue, cur_col, wrap));
1030}
1031
1032static ahc_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
1033	{ "SEQ_MAILBOX",	0x0f, 0x0f },
1034	{ "HOST_TQINPOS",	0x80, 0x80 },
1035	{ "HOST_MAILBOX",	0xf0, 0xf0 }
1036};
1037
1038int
1039ahc_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
1040{
1041	return (ahc_print_register(HS_MAILBOX_parse_table, 3, "HS_MAILBOX",
1042	    0x86, regvalue, cur_col, wrap));
1043}
1044
1045static ahc_reg_parse_entry_t DSPCISTATUS_parse_table[] = {
1046	{ "DFTHRSH_100",	0xc0, 0xc0 }
1047};
1048
1049int
1050ahc_dspcistatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1051{
1052	return (ahc_print_register(DSPCISTATUS_parse_table, 1, "DSPCISTATUS",
1053	    0x86, regvalue, cur_col, wrap));
1054}
1055
1056static ahc_reg_parse_entry_t HCNTRL_parse_table[] = {
1057	{ "CHIPRST",		0x01, 0x01 },
1058	{ "CHIPRSTACK",		0x01, 0x01 },
1059	{ "INTEN",		0x02, 0x02 },
1060	{ "PAUSE",		0x04, 0x04 },
1061	{ "IRQMS",		0x08, 0x08 },
1062	{ "SWINT",		0x10, 0x10 },
1063	{ "POWRDN",		0x40, 0x40 }
1064};
1065
1066int
1067ahc_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1068{
1069	return (ahc_print_register(HCNTRL_parse_table, 7, "HCNTRL",
1070	    0x87, regvalue, cur_col, wrap));
1071}
1072
1073int
1074ahc_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1075{
1076	return (ahc_print_register(NULL, 0, "HADDR",
1077	    0x88, regvalue, cur_col, wrap));
1078}
1079
1080int
1081ahc_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1082{
1083	return (ahc_print_register(NULL, 0, "HCNT",
1084	    0x8c, regvalue, cur_col, wrap));
1085}
1086
1087int
1088ahc_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1089{
1090	return (ahc_print_register(NULL, 0, "SCBPTR",
1091	    0x90, regvalue, cur_col, wrap));
1092}
1093
1094static ahc_reg_parse_entry_t INTSTAT_parse_table[] = {
1095	{ "SEQINT",		0x01, 0x01 },
1096	{ "CMDCMPLT",		0x02, 0x02 },
1097	{ "SCSIINT",		0x04, 0x04 },
1098	{ "BRKADRINT",		0x08, 0x08 },
1099	{ "BAD_PHASE",		0x01, 0x01 },
1100	{ "INT_PEND",		0x0f, 0x0f },
1101	{ "SEND_REJECT",	0x11, 0x11 },
1102	{ "PROTO_VIOLATION",	0x21, 0x21 },
1103	{ "NO_MATCH",		0x31, 0x31 },
1104	{ "IGN_WIDE_RES",	0x41, 0x41 },
1105	{ "PDATA_REINIT",	0x51, 0x51 },
1106	{ "HOST_MSG_LOOP",	0x61, 0x61 },
1107	{ "BAD_STATUS",		0x71, 0x71 },
1108	{ "PERR_DETECTED",	0x81, 0x81 },
1109	{ "DATA_OVERRUN",	0x91, 0x91 },
1110	{ "MKMSG_FAILED",	0xa1, 0xa1 },
1111	{ "MISSED_BUSFREE",	0xb1, 0xb1 },
1112	{ "SCB_MISMATCH",	0xc1, 0xc1 },
1113	{ "NO_FREE_SCB",	0xd1, 0xd1 },
1114	{ "OUT_OF_RANGE",	0xe1, 0xe1 },
1115	{ "SEQINT_MASK",	0xf1, 0xf1 }
1116};
1117
1118int
1119ahc_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1120{
1121	return (ahc_print_register(INTSTAT_parse_table, 21, "INTSTAT",
1122	    0x91, regvalue, cur_col, wrap));
1123}
1124
1125static ahc_reg_parse_entry_t ERROR_parse_table[] = {
1126	{ "ILLHADDR",		0x01, 0x01 },
1127	{ "ILLSADDR",		0x02, 0x02 },
1128	{ "ILLOPCODE",		0x04, 0x04 },
1129	{ "SQPARERR",		0x08, 0x08 },
1130	{ "DPARERR",		0x10, 0x10 },
1131	{ "MPARERR",		0x20, 0x20 },
1132	{ "PCIERRSTAT",		0x40, 0x40 },
1133	{ "CIOPARERR",		0x80, 0x80 }
1134};
1135
1136int
1137ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
1138{
1139	return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
1140	    0x92, regvalue, cur_col, wrap));
1141}
1142
1143static ahc_reg_parse_entry_t CLRINT_parse_table[] = {
1144	{ "CLRSEQINT",		0x01, 0x01 },
1145	{ "CLRCMDINT",		0x02, 0x02 },
1146	{ "CLRSCSIINT",		0x04, 0x04 },
1147	{ "CLRBRKADRINT",	0x08, 0x08 },
1148	{ "CLRPARERR",		0x10, 0x10 }
1149};
1150
1151int
1152ahc_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
1153{
1154	return (ahc_print_register(CLRINT_parse_table, 5, "CLRINT",
1155	    0x92, regvalue, cur_col, wrap));
1156}
1157
1158static ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
1159	{ "FIFORESET",		0x01, 0x01 },
1160	{ "FIFOFLUSH",		0x02, 0x02 },
1161	{ "DIRECTION",		0x04, 0x04 },
1162	{ "HDMAEN",		0x08, 0x08 },
1163	{ "HDMAENACK",		0x08, 0x08 },
1164	{ "SDMAEN",		0x10, 0x10 },
1165	{ "SDMAENACK",		0x10, 0x10 },
1166	{ "SCSIEN",		0x20, 0x20 },
1167	{ "WIDEODD",		0x40, 0x40 },
1168	{ "PRELOADEN",		0x80, 0x80 }
1169};
1170
1171int
1172ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1173{
1174	return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
1175	    0x93, regvalue, cur_col, wrap));
1176}
1177
1178static ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
1179	{ "FIFOEMP",		0x01, 0x01 },
1180	{ "FIFOFULL",		0x02, 0x02 },
1181	{ "DFTHRESH",		0x04, 0x04 },
1182	{ "HDONE",		0x08, 0x08 },
1183	{ "MREQPEND",		0x10, 0x10 },
1184	{ "FIFOQWDEMP",		0x20, 0x20 },
1185	{ "DFCACHETH",		0x40, 0x40 },
1186	{ "PRELOAD_AVAIL",	0x80, 0x80 }
1187};
1188
1189int
1190ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1191{
1192	return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
1193	    0x94, regvalue, cur_col, wrap));
1194}
1195
1196int
1197ahc_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1198{
1199	return (ahc_print_register(NULL, 0, "DFWADDR",
1200	    0x95, regvalue, cur_col, wrap));
1201}
1202
1203int
1204ahc_dfraddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1205{
1206	return (ahc_print_register(NULL, 0, "DFRADDR",
1207	    0x97, regvalue, cur_col, wrap));
1208}
1209
1210int
1211ahc_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1212{
1213	return (ahc_print_register(NULL, 0, "DFDAT",
1214	    0x99, regvalue, cur_col, wrap));
1215}
1216
1217static ahc_reg_parse_entry_t SCBCNT_parse_table[] = {
1218	{ "SCBAUTO",		0x80, 0x80 },
1219	{ "SCBCNT_MASK",	0x1f, 0x1f }
1220};
1221
1222int
1223ahc_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1224{
1225	return (ahc_print_register(SCBCNT_parse_table, 2, "SCBCNT",
1226	    0x9a, regvalue, cur_col, wrap));
1227}
1228
1229int
1230ahc_qinfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1231{
1232	return (ahc_print_register(NULL, 0, "QINFIFO",
1233	    0x9b, regvalue, cur_col, wrap));
1234}
1235
1236int
1237ahc_qincnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1238{
1239	return (ahc_print_register(NULL, 0, "QINCNT",
1240	    0x9c, regvalue, cur_col, wrap));
1241}
1242
1243static ahc_reg_parse_entry_t CRCCONTROL1_parse_table[] = {
1244	{ "TARGCRCCNTEN",	0x04, 0x04 },
1245	{ "TARGCRCENDEN",	0x08, 0x08 },
1246	{ "CRCREQCHKEN",	0x10, 0x10 },
1247	{ "CRCENDCHKEN",	0x20, 0x20 },
1248	{ "CRCVALCHKEN",	0x40, 0x40 },
1249	{ "CRCONSEEN",		0x80, 0x80 }
1250};
1251
1252int
1253ahc_crccontrol1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1254{
1255	return (ahc_print_register(CRCCONTROL1_parse_table, 6, "CRCCONTROL1",
1256	    0x9d, regvalue, cur_col, wrap));
1257}
1258
1259int
1260ahc_qoutfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1261{
1262	return (ahc_print_register(NULL, 0, "QOUTFIFO",
1263	    0x9d, regvalue, cur_col, wrap));
1264}
1265
1266int
1267ahc_qoutcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1268{
1269	return (ahc_print_register(NULL, 0, "QOUTCNT",
1270	    0x9e, regvalue, cur_col, wrap));
1271}
1272
1273static ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
1274	{ "DATA_OUT_PHASE",	0x01, 0x01 },
1275	{ "DATA_IN_PHASE",	0x02, 0x02 },
1276	{ "MSG_OUT_PHASE",	0x04, 0x04 },
1277	{ "MSG_IN_PHASE",	0x08, 0x08 },
1278	{ "COMMAND_PHASE",	0x10, 0x10 },
1279	{ "STATUS_PHASE",	0x20, 0x20 },
1280	{ "DATA_PHASE_MASK",	0x03, 0x03 }
1281};
1282
1283int
1284ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
1285{
1286	return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
1287	    0x9e, regvalue, cur_col, wrap));
1288}
1289
1290static ahc_reg_parse_entry_t SFUNCT_parse_table[] = {
1291	{ "ALT_MODE",		0x80, 0x80 }
1292};
1293
1294int
1295ahc_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap)
1296{
1297	return (ahc_print_register(SFUNCT_parse_table, 1, "SFUNCT",
1298	    0x9f, regvalue, cur_col, wrap));
1299}
1300
1301int
1302ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
1303{
1304	return (ahc_print_register(NULL, 0, "SCB_BASE",
1305	    0xa0, regvalue, cur_col, wrap));
1306}
1307
1308int
1309ahc_scb_cdb_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1310{
1311	return (ahc_print_register(NULL, 0, "SCB_CDB_PTR",
1312	    0xa0, regvalue, cur_col, wrap));
1313}
1314
1315int
1316ahc_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1317{
1318	return (ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR",
1319	    0xa4, regvalue, cur_col, wrap));
1320}
1321
1322int
1323ahc_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
1324{
1325	return (ahc_print_register(NULL, 0, "SCB_SCSI_STATUS",
1326	    0xa8, regvalue, cur_col, wrap));
1327}
1328
1329int
1330ahc_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap)
1331{
1332	return (ahc_print_register(NULL, 0, "SCB_TARGET_PHASES",
1333	    0xa9, regvalue, cur_col, wrap));
1334}
1335
1336int
1337ahc_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1338{
1339	return (ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR",
1340	    0xaa, regvalue, cur_col, wrap));
1341}
1342
1343int
1344ahc_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1345{
1346	return (ahc_print_register(NULL, 0, "SCB_TARGET_ITAG",
1347	    0xab, regvalue, cur_col, wrap));
1348}
1349
1350int
1351ahc_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1352{
1353	return (ahc_print_register(NULL, 0, "SCB_DATAPTR",
1354	    0xac, regvalue, cur_col, wrap));
1355}
1356
1357static ahc_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
1358	{ "SG_LAST_SEG",	0x80, 0x80 },
1359	{ "SG_HIGH_ADDR_BITS",	0x7f, 0x7f }
1360};
1361
1362int
1363ahc_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1364{
1365	return (ahc_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
1366	    0xb0, regvalue, cur_col, wrap));
1367}
1368
1369static ahc_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
1370	{ "SG_LIST_NULL",	0x01, 0x01 },
1371	{ "SG_FULL_RESID",	0x02, 0x02 },
1372	{ "SG_RESID_VALID",	0x04, 0x04 }
1373};
1374
1375int
1376ahc_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1377{
1378	return (ahc_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
1379	    0xb4, regvalue, cur_col, wrap));
1380}
1381
1382static ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
1383	{ "DISCONNECTED",	0x04, 0x04 },
1384	{ "ULTRAENB",		0x08, 0x08 },
1385	{ "MK_MESSAGE",		0x10, 0x10 },
1386	{ "TAG_ENB",		0x20, 0x20 },
1387	{ "DISCENB",		0x40, 0x40 },
1388	{ "TARGET_SCB",		0x80, 0x80 },
1389	{ "STATUS_RCVD",	0x80, 0x80 },
1390	{ "SCB_TAG_TYPE",	0x03, 0x03 }
1391};
1392
1393int
1394ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
1395{
1396	return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
1397	    0xb8, regvalue, cur_col, wrap));
1398}
1399
1400static ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
1401	{ "TWIN_CHNLB",		0x80, 0x80 },
1402	{ "OID",		0x0f, 0x0f },
1403	{ "TWIN_TID",		0x70, 0x70 },
1404	{ "TID",		0xf0, 0xf0 }
1405};
1406
1407int
1408ahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1409{
1410	return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
1411	    0xb9, regvalue, cur_col, wrap));
1412}
1413
1414static ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
1415	{ "SCB_XFERLEN_ODD",	0x80, 0x80 },
1416	{ "LID",		0x3f, 0x3f }
1417};
1418
1419int
1420ahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
1421{
1422	return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
1423	    0xba, regvalue, cur_col, wrap));
1424}
1425
1426int
1427ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1428{
1429	return (ahc_print_register(NULL, 0, "SCB_TAG",
1430	    0xbb, regvalue, cur_col, wrap));
1431}
1432
1433int
1434ahc_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
1435{
1436	return (ahc_print_register(NULL, 0, "SCB_CDB_LEN",
1437	    0xbc, regvalue, cur_col, wrap));
1438}
1439
1440int
1441ahc_scb_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
1442{
1443	return (ahc_print_register(NULL, 0, "SCB_SCSIRATE",
1444	    0xbd, regvalue, cur_col, wrap));
1445}
1446
1447int
1448ahc_scb_scsioffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
1449{
1450	return (ahc_print_register(NULL, 0, "SCB_SCSIOFFSET",
1451	    0xbe, regvalue, cur_col, wrap));
1452}
1453
1454int
1455ahc_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
1456{
1457	return (ahc_print_register(NULL, 0, "SCB_NEXT",
1458	    0xbf, regvalue, cur_col, wrap));
1459}
1460
1461int
1462ahc_scb_64_spare_print(u_int regvalue, u_int *cur_col, u_int wrap)
1463{
1464	return (ahc_print_register(NULL, 0, "SCB_64_SPARE",
1465	    0xc0, regvalue, cur_col, wrap));
1466}
1467
1468static ahc_reg_parse_entry_t SEECTL_2840_parse_table[] = {
1469	{ "DO_2840",		0x01, 0x01 },
1470	{ "CK_2840",		0x02, 0x02 },
1471	{ "CS_2840",		0x04, 0x04 }
1472};
1473
1474int
1475ahc_seectl_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1476{
1477	return (ahc_print_register(SEECTL_2840_parse_table, 3, "SEECTL_2840",
1478	    0xc0, regvalue, cur_col, wrap));
1479}
1480
1481static ahc_reg_parse_entry_t STATUS_2840_parse_table[] = {
1482	{ "DI_2840",		0x01, 0x01 },
1483	{ "EEPROM_TF",		0x80, 0x80 },
1484	{ "ADSEL",		0x1e, 0x1e },
1485	{ "BIOS_SEL",		0x60, 0x60 }
1486};
1487
1488int
1489ahc_status_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1490{
1491	return (ahc_print_register(STATUS_2840_parse_table, 4, "STATUS_2840",
1492	    0xc1, regvalue, cur_col, wrap));
1493}
1494
1495int
1496ahc_scb_64_btt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1497{
1498	return (ahc_print_register(NULL, 0, "SCB_64_BTT",
1499	    0xd0, regvalue, cur_col, wrap));
1500}
1501
1502int
1503ahc_cchaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1504{
1505	return (ahc_print_register(NULL, 0, "CCHADDR",
1506	    0xe0, regvalue, cur_col, wrap));
1507}
1508
1509int
1510ahc_cchcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1511{
1512	return (ahc_print_register(NULL, 0, "CCHCNT",
1513	    0xe8, regvalue, cur_col, wrap));
1514}
1515
1516int
1517ahc_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1518{
1519	return (ahc_print_register(NULL, 0, "CCSGRAM",
1520	    0xe9, regvalue, cur_col, wrap));
1521}
1522
1523int
1524ahc_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1525{
1526	return (ahc_print_register(NULL, 0, "CCSGADDR",
1527	    0xea, regvalue, cur_col, wrap));
1528}
1529
1530static ahc_reg_parse_entry_t CCSGCTL_parse_table[] = {
1531	{ "CCSGRESET",		0x01, 0x01 },
1532	{ "SG_FETCH_NEEDED",	0x02, 0x02 },
1533	{ "CCSGEN",		0x08, 0x08 },
1534	{ "CCSGDONE",		0x80, 0x80 }
1535};
1536
1537int
1538ahc_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1539{
1540	return (ahc_print_register(CCSGCTL_parse_table, 4, "CCSGCTL",
1541	    0xeb, regvalue, cur_col, wrap));
1542}
1543
1544int
1545ahc_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1546{
1547	return (ahc_print_register(NULL, 0, "CCSCBRAM",
1548	    0xec, regvalue, cur_col, wrap));
1549}
1550
1551int
1552ahc_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1553{
1554	return (ahc_print_register(NULL, 0, "CCSCBADDR",
1555	    0xed, regvalue, cur_col, wrap));
1556}
1557
1558static ahc_reg_parse_entry_t CCSCBCTL_parse_table[] = {
1559	{ "CCSCBRESET",		0x01, 0x01 },
1560	{ "CCSCBDIR",		0x04, 0x04 },
1561	{ "CCSCBEN",		0x08, 0x08 },
1562	{ "CCARREN",		0x10, 0x10 },
1563	{ "ARRDONE",		0x40, 0x40 },
1564	{ "CCSCBDONE",		0x80, 0x80 }
1565};
1566
1567int
1568ahc_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1569{
1570	return (ahc_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
1571	    0xee, regvalue, cur_col, wrap));
1572}
1573
1574int
1575ahc_ccscbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1576{
1577	return (ahc_print_register(NULL, 0, "CCSCBCNT",
1578	    0xef, regvalue, cur_col, wrap));
1579}
1580
1581int
1582ahc_scbbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1583{
1584	return (ahc_print_register(NULL, 0, "SCBBADDR",
1585	    0xf0, regvalue, cur_col, wrap));
1586}
1587
1588int
1589ahc_ccscbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1590{
1591	return (ahc_print_register(NULL, 0, "CCSCBPTR",
1592	    0xf1, regvalue, cur_col, wrap));
1593}
1594
1595int
1596ahc_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1597{
1598	return (ahc_print_register(NULL, 0, "HNSCB_QOFF",
1599	    0xf4, regvalue, cur_col, wrap));
1600}
1601
1602int
1603ahc_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1604{
1605	return (ahc_print_register(NULL, 0, "SNSCB_QOFF",
1606	    0xf6, regvalue, cur_col, wrap));
1607}
1608
1609int
1610ahc_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1611{
1612	return (ahc_print_register(NULL, 0, "SDSCB_QOFF",
1613	    0xf8, regvalue, cur_col, wrap));
1614}
1615
1616static ahc_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
1617	{ "SDSCB_ROLLOVER",	0x10, 0x10 },
1618	{ "SNSCB_ROLLOVER",	0x20, 0x20 },
1619	{ "SCB_AVAIL",		0x40, 0x40 },
1620	{ "SCB_QSIZE_256",	0x06, 0x06 },
1621	{ "SCB_QSIZE",		0x07, 0x07 }
1622};
1623
1624int
1625ahc_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
1626{
1627	return (ahc_print_register(QOFF_CTLSTA_parse_table, 5, "QOFF_CTLSTA",
1628	    0xfa, regvalue, cur_col, wrap));
1629}
1630
1631static ahc_reg_parse_entry_t DFF_THRSH_parse_table[] = {
1632	{ "RD_DFTHRSH_MIN",	0x00, 0x00 },
1633	{ "WR_DFTHRSH_MIN",	0x00, 0x00 },
1634	{ "RD_DFTHRSH_25",	0x01, 0x01 },
1635	{ "RD_DFTHRSH_50",	0x02, 0x02 },
1636	{ "RD_DFTHRSH_63",	0x03, 0x03 },
1637	{ "RD_DFTHRSH_75",	0x04, 0x04 },
1638	{ "RD_DFTHRSH_85",	0x05, 0x05 },
1639	{ "RD_DFTHRSH_90",	0x06, 0x06 },
1640	{ "RD_DFTHRSH",		0x07, 0x07 },
1641	{ "RD_DFTHRSH_MAX",	0x07, 0x07 },
1642	{ "WR_DFTHRSH_25",	0x10, 0x10 },
1643	{ "WR_DFTHRSH_50",	0x20, 0x20 },
1644	{ "WR_DFTHRSH_63",	0x30, 0x30 },
1645	{ "WR_DFTHRSH_75",	0x40, 0x40 },
1646	{ "WR_DFTHRSH_85",	0x50, 0x50 },
1647	{ "WR_DFTHRSH_90",	0x60, 0x60 },
1648	{ "WR_DFTHRSH",		0x70, 0x70 },
1649	{ "WR_DFTHRSH_MAX",	0x70, 0x70 }
1650};
1651
1652int
1653ahc_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
1654{
1655	return (ahc_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
1656	    0xfb, regvalue, cur_col, wrap));
1657}
1658
1659static ahc_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
1660	{ "LAST_SEG_DONE",	0x01, 0x01 },
1661	{ "LAST_SEG",		0x02, 0x02 },
1662	{ "SG_ADDR_MASK",	0xf8, 0xf8 }
1663};
1664
1665int
1666ahc_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
1667{
1668	return (ahc_print_register(SG_CACHE_SHADOW_parse_table, 3, "SG_CACHE_SHADOW",
1669	    0xfc, regvalue, cur_col, wrap));
1670}
1671
1672static ahc_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
1673	{ "LAST_SEG_DONE",	0x01, 0x01 },
1674	{ "LAST_SEG",		0x02, 0x02 },
1675	{ "SG_ADDR_MASK",	0xf8, 0xf8 }
1676};
1677
1678int
1679ahc_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
1680{
1681	return (ahc_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
1682	    0xfc, regvalue, cur_col, wrap));
1683}
1684
1685