[TG3]: Add tagged status support.
[linux-2.6/verdex.git] / drivers / scsi / aic7xxx / aic7xxx_reg_print.c_shipped
blob9c713775d44a9bd1caadfbb1e201b66eed32fb69
1 /*
2  * DO NOT EDIT - This file is automatically generated
3  *               from the following source files:
4  *
5  * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#56 $
6  * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#39 $
7  */
9 #include "aic7xxx_osm.h"
11 static ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
12         { "SCSIRSTO",           0x01, 0x01 },
13         { "ENAUTOATNP",         0x02, 0x02 },
14         { "ENAUTOATNI",         0x04, 0x04 },
15         { "ENAUTOATNO",         0x08, 0x08 },
16         { "ENRSELI",            0x10, 0x10 },
17         { "ENSELI",             0x20, 0x20 },
18         { "ENSELO",             0x40, 0x40 },
19         { "TEMODE",             0x80, 0x80 }
22 int
23 ahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
25         return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
26             0x00, regvalue, cur_col, wrap));
29 static ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
30         { "CLRCHN",             0x02, 0x02 },
31         { "SCAMEN",             0x04, 0x04 },
32         { "SPIOEN",             0x08, 0x08 },
33         { "CLRSTCNT",           0x10, 0x10 },
34         { "FAST20",             0x20, 0x20 },
35         { "DFPEXP",             0x40, 0x40 },
36         { "DFON",               0x80, 0x80 }
39 int
40 ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
42         return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
43             0x01, regvalue, cur_col, wrap));
46 static ahc_reg_parse_entry_t SXFRCTL1_parse_table[] = {
47         { "STPWEN",             0x01, 0x01 },
48         { "ACTNEGEN",           0x02, 0x02 },
49         { "ENSTIMER",           0x04, 0x04 },
50         { "ENSPCHK",            0x20, 0x20 },
51         { "SWRAPEN",            0x40, 0x40 },
52         { "BITBUCKET",          0x80, 0x80 },
53         { "STIMESEL",           0x18, 0x18 }
56 int
57 ahc_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
59         return (ahc_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
60             0x02, regvalue, cur_col, wrap));
63 static ahc_reg_parse_entry_t SCSISIGO_parse_table[] = {
64         { "ACKO",               0x01, 0x01 },
65         { "REQO",               0x02, 0x02 },
66         { "BSYO",               0x04, 0x04 },
67         { "SELO",               0x08, 0x08 },
68         { "ATNO",               0x10, 0x10 },
69         { "MSGO",               0x20, 0x20 },
70         { "IOO",                0x40, 0x40 },
71         { "CDO",                0x80, 0x80 },
72         { "P_DATAOUT",          0x00, 0x00 },
73         { "P_DATAIN",           0x40, 0x40 },
74         { "P_COMMAND",          0x80, 0x80 },
75         { "P_MESGOUT",          0xa0, 0xa0 },
76         { "P_STATUS",           0xc0, 0xc0 },
77         { "PHASE_MASK",         0xe0, 0xe0 },
78         { "P_MESGIN",           0xe0, 0xe0 }
81 int
82 ahc_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
84         return (ahc_print_register(SCSISIGO_parse_table, 15, "SCSISIGO",
85             0x03, regvalue, cur_col, wrap));
88 static ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
89         { "ACKI",               0x01, 0x01 },
90         { "REQI",               0x02, 0x02 },
91         { "BSYI",               0x04, 0x04 },
92         { "SELI",               0x08, 0x08 },
93         { "ATNI",               0x10, 0x10 },
94         { "MSGI",               0x20, 0x20 },
95         { "IOI",                0x40, 0x40 },
96         { "CDI",                0x80, 0x80 },
97         { "P_DATAOUT",          0x00, 0x00 },
98         { "P_DATAOUT_DT",       0x20, 0x20 },
99         { "P_DATAIN",           0x40, 0x40 },
100         { "P_DATAIN_DT",        0x60, 0x60 },
101         { "P_COMMAND",          0x80, 0x80 },
102         { "P_MESGOUT",          0xa0, 0xa0 },
103         { "P_STATUS",           0xc0, 0xc0 },
104         { "PHASE_MASK",         0xe0, 0xe0 },
105         { "P_MESGIN",           0xe0, 0xe0 }
109 ahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
111         return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
112             0x03, regvalue, cur_col, wrap));
115 static ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
116         { "SINGLE_EDGE",        0x10, 0x10 },
117         { "ENABLE_CRC",         0x40, 0x40 },
118         { "WIDEXFER",           0x80, 0x80 },
119         { "SXFR_ULTRA2",        0x0f, 0x0f },
120         { "SOFS",               0x0f, 0x0f },
121         { "SXFR",               0x70, 0x70 }
125 ahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
127         return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE",
128             0x04, regvalue, cur_col, wrap));
131 static ahc_reg_parse_entry_t SCSIID_parse_table[] = {
132         { "TWIN_CHNLB",         0x80, 0x80 },
133         { "OID",                0x0f, 0x0f },
134         { "TWIN_TID",           0x70, 0x70 },
135         { "SOFS_ULTRA2",        0x7f, 0x7f },
136         { "TID",                0xf0, 0xf0 }
140 ahc_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
142         return (ahc_print_register(SCSIID_parse_table, 5, "SCSIID",
143             0x05, regvalue, cur_col, wrap));
147 ahc_scsidatl_print(u_int regvalue, u_int *cur_col, u_int wrap)
149         return (ahc_print_register(NULL, 0, "SCSIDATL",
150             0x06, regvalue, cur_col, wrap));
154 ahc_scsidath_print(u_int regvalue, u_int *cur_col, u_int wrap)
156         return (ahc_print_register(NULL, 0, "SCSIDATH",
157             0x07, regvalue, cur_col, wrap));
161 ahc_stcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
163         return (ahc_print_register(NULL, 0, "STCNT",
164             0x08, regvalue, cur_col, wrap));
167 static ahc_reg_parse_entry_t OPTIONMODE_parse_table[] = {
168         { "DIS_MSGIN_DUALEDGE", 0x01, 0x01 },
169         { "AUTO_MSGOUT_DE",     0x02, 0x02 },
170         { "SCSIDATL_IMGEN",     0x04, 0x04 },
171         { "EXPPHASEDIS",        0x08, 0x08 },
172         { "BUSFREEREV",         0x10, 0x10 },
173         { "ATNMGMNTEN",         0x20, 0x20 },
174         { "AUTOACKEN",          0x40, 0x40 },
175         { "AUTORATEEN",         0x80, 0x80 },
176         { "OPTIONMODE_DEFAULTS",0x03, 0x03 }
180 ahc_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
182         return (ahc_print_register(OPTIONMODE_parse_table, 9, "OPTIONMODE",
183             0x08, regvalue, cur_col, wrap));
187 ahc_targcrccnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
189         return (ahc_print_register(NULL, 0, "TARGCRCCNT",
190             0x0a, regvalue, cur_col, wrap));
193 static ahc_reg_parse_entry_t CLRSINT0_parse_table[] = {
194         { "CLRSPIORDY",         0x02, 0x02 },
195         { "CLRSWRAP",           0x08, 0x08 },
196         { "CLRIOERR",           0x08, 0x08 },
197         { "CLRSELINGO",         0x10, 0x10 },
198         { "CLRSELDI",           0x20, 0x20 },
199         { "CLRSELDO",           0x40, 0x40 }
203 ahc_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
205         return (ahc_print_register(CLRSINT0_parse_table, 6, "CLRSINT0",
206             0x0b, regvalue, cur_col, wrap));
209 static ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
210         { "DMADONE",            0x01, 0x01 },
211         { "SPIORDY",            0x02, 0x02 },
212         { "SDONE",              0x04, 0x04 },
213         { "SWRAP",              0x08, 0x08 },
214         { "IOERR",              0x08, 0x08 },
215         { "SELINGO",            0x10, 0x10 },
216         { "SELDI",              0x20, 0x20 },
217         { "SELDO",              0x40, 0x40 },
218         { "TARGET",             0x80, 0x80 }
222 ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
224         return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
225             0x0b, regvalue, cur_col, wrap));
228 static ahc_reg_parse_entry_t CLRSINT1_parse_table[] = {
229         { "CLRREQINIT",         0x01, 0x01 },
230         { "CLRPHASECHG",        0x02, 0x02 },
231         { "CLRSCSIPERR",        0x04, 0x04 },
232         { "CLRBUSFREE",         0x08, 0x08 },
233         { "CLRSCSIRSTI",        0x20, 0x20 },
234         { "CLRATNO",            0x40, 0x40 },
235         { "CLRSELTIMEO",        0x80, 0x80 }
239 ahc_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
241         return (ahc_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
242             0x0c, regvalue, cur_col, wrap));
245 static ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
246         { "REQINIT",            0x01, 0x01 },
247         { "PHASECHG",           0x02, 0x02 },
248         { "SCSIPERR",           0x04, 0x04 },
249         { "BUSFREE",            0x08, 0x08 },
250         { "PHASEMIS",           0x10, 0x10 },
251         { "SCSIRSTI",           0x20, 0x20 },
252         { "ATNTARG",            0x40, 0x40 },
253         { "SELTO",              0x80, 0x80 }
257 ahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
259         return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
260             0x0c, regvalue, cur_col, wrap));
263 static ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
264         { "DUAL_EDGE_ERR",      0x01, 0x01 },
265         { "CRCREQERR",          0x02, 0x02 },
266         { "CRCENDERR",          0x04, 0x04 },
267         { "CRCVALERR",          0x08, 0x08 },
268         { "EXP_ACTIVE",         0x10, 0x10 },
269         { "SHVALID",            0x40, 0x40 },
270         { "OVERRUN",            0x80, 0x80 },
271         { "SFCNT",              0x1f, 0x1f }
275 ahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
277         return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
278             0x0d, regvalue, cur_col, wrap));
281 static ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
282         { "OFFCNT",             0x0f, 0x0f },
283         { "U2OFFCNT",           0x7f, 0x7f },
284         { "SCSICNT",            0xf0, 0xf0 }
288 ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
290         return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
291             0x0e, regvalue, cur_col, wrap));
294 static ahc_reg_parse_entry_t SCSIID_ULTRA2_parse_table[] = {
295         { "OID",                0x0f, 0x0f },
296         { "TID",                0xf0, 0xf0 }
300 ahc_scsiid_ultra2_print(u_int regvalue, u_int *cur_col, u_int wrap)
302         return (ahc_print_register(SCSIID_ULTRA2_parse_table, 2, "SCSIID_ULTRA2",
303             0x0f, regvalue, cur_col, wrap));
306 static ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
307         { "ENDMADONE",          0x01, 0x01 },
308         { "ENSPIORDY",          0x02, 0x02 },
309         { "ENSDONE",            0x04, 0x04 },
310         { "ENSWRAP",            0x08, 0x08 },
311         { "ENIOERR",            0x08, 0x08 },
312         { "ENSELINGO",          0x10, 0x10 },
313         { "ENSELDI",            0x20, 0x20 },
314         { "ENSELDO",            0x40, 0x40 }
318 ahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
320         return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
321             0x10, regvalue, cur_col, wrap));
324 static ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
325         { "ENREQINIT",          0x01, 0x01 },
326         { "ENPHASECHG",         0x02, 0x02 },
327         { "ENSCSIPERR",         0x04, 0x04 },
328         { "ENBUSFREE",          0x08, 0x08 },
329         { "ENPHASEMIS",         0x10, 0x10 },
330         { "ENSCSIRST",          0x20, 0x20 },
331         { "ENATNTARG",          0x40, 0x40 },
332         { "ENSELTIMO",          0x80, 0x80 }
336 ahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
338         return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
339             0x11, regvalue, cur_col, wrap));
343 ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
345         return (ahc_print_register(NULL, 0, "SCSIBUSL",
346             0x12, regvalue, cur_col, wrap));
350 ahc_scsibush_print(u_int regvalue, u_int *cur_col, u_int wrap)
352         return (ahc_print_register(NULL, 0, "SCSIBUSH",
353             0x13, regvalue, cur_col, wrap));
356 static ahc_reg_parse_entry_t SXFRCTL2_parse_table[] = {
357         { "CMDDMAEN",           0x08, 0x08 },
358         { "AUTORSTDIS",         0x10, 0x10 },
359         { "ASYNC_SETUP",        0x07, 0x07 }
363 ahc_sxfrctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
365         return (ahc_print_register(SXFRCTL2_parse_table, 3, "SXFRCTL2",
366             0x13, regvalue, cur_col, wrap));
370 ahc_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
372         return (ahc_print_register(NULL, 0, "SHADDR",
373             0x14, regvalue, cur_col, wrap));
376 static ahc_reg_parse_entry_t SELTIMER_parse_table[] = {
377         { "STAGE1",             0x01, 0x01 },
378         { "STAGE2",             0x02, 0x02 },
379         { "STAGE3",             0x04, 0x04 },
380         { "STAGE4",             0x08, 0x08 },
381         { "STAGE5",             0x10, 0x10 },
382         { "STAGE6",             0x20, 0x20 }
386 ahc_seltimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
388         return (ahc_print_register(SELTIMER_parse_table, 6, "SELTIMER",
389             0x18, regvalue, cur_col, wrap));
392 static ahc_reg_parse_entry_t SELID_parse_table[] = {
393         { "ONEBIT",             0x08, 0x08 },
394         { "SELID_MASK",         0xf0, 0xf0 }
398 ahc_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
400         return (ahc_print_register(SELID_parse_table, 2, "SELID",
401             0x19, regvalue, cur_col, wrap));
404 static ahc_reg_parse_entry_t SCAMCTL_parse_table[] = {
405         { "DFLTTID",            0x10, 0x10 },
406         { "ALTSTIM",            0x20, 0x20 },
407         { "CLRSCAMSELID",       0x40, 0x40 },
408         { "ENSCAMSELO",         0x80, 0x80 },
409         { "SCAMLVL",            0x03, 0x03 }
413 ahc_scamctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
415         return (ahc_print_register(SCAMCTL_parse_table, 5, "SCAMCTL",
416             0x1a, regvalue, cur_col, wrap));
420 ahc_targid_print(u_int regvalue, u_int *cur_col, u_int wrap)
422         return (ahc_print_register(NULL, 0, "TARGID",
423             0x1b, regvalue, cur_col, wrap));
426 static ahc_reg_parse_entry_t SPIOCAP_parse_table[] = {
427         { "SSPIOCPS",           0x01, 0x01 },
428         { "ROM",                0x02, 0x02 },
429         { "EEPROM",             0x04, 0x04 },
430         { "SEEPROM",            0x08, 0x08 },
431         { "EXT_BRDCTL",         0x10, 0x10 },
432         { "SOFTCMDEN",          0x20, 0x20 },
433         { "SOFT0",              0x40, 0x40 },
434         { "SOFT1",              0x80, 0x80 }
438 ahc_spiocap_print(u_int regvalue, u_int *cur_col, u_int wrap)
440         return (ahc_print_register(SPIOCAP_parse_table, 8, "SPIOCAP",
441             0x1b, regvalue, cur_col, wrap));
444 static ahc_reg_parse_entry_t BRDCTL_parse_table[] = {
445         { "BRDCTL0",            0x01, 0x01 },
446         { "BRDSTB_ULTRA2",      0x01, 0x01 },
447         { "BRDCTL1",            0x02, 0x02 },
448         { "BRDRW_ULTRA2",       0x02, 0x02 },
449         { "BRDRW",              0x04, 0x04 },
450         { "BRDDAT2",            0x04, 0x04 },
451         { "BRDCS",              0x08, 0x08 },
452         { "BRDDAT3",            0x08, 0x08 },
453         { "BRDSTB",             0x10, 0x10 },
454         { "BRDDAT4",            0x10, 0x10 },
455         { "BRDDAT5",            0x20, 0x20 },
456         { "BRDDAT6",            0x40, 0x40 },
457         { "BRDDAT7",            0x80, 0x80 }
461 ahc_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
463         return (ahc_print_register(BRDCTL_parse_table, 13, "BRDCTL",
464             0x1d, regvalue, cur_col, wrap));
467 static ahc_reg_parse_entry_t SEECTL_parse_table[] = {
468         { "SEEDI",              0x01, 0x01 },
469         { "SEEDO",              0x02, 0x02 },
470         { "SEECK",              0x04, 0x04 },
471         { "SEECS",              0x08, 0x08 },
472         { "SEERDY",             0x10, 0x10 },
473         { "SEEMS",              0x20, 0x20 },
474         { "EXTARBREQ",          0x40, 0x40 },
475         { "EXTARBACK",          0x80, 0x80 }
479 ahc_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
481         return (ahc_print_register(SEECTL_parse_table, 8, "SEECTL",
482             0x1e, regvalue, cur_col, wrap));
485 static ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
486         { "XCVR",               0x01, 0x01 },
487         { "SELWIDE",            0x02, 0x02 },
488         { "ENAB20",             0x04, 0x04 },
489         { "SELBUSB",            0x08, 0x08 },
490         { "ENAB40",             0x08, 0x08 },
491         { "AUTOFLUSHDIS",       0x20, 0x20 },
492         { "DIAGLEDON",          0x40, 0x40 },
493         { "DIAGLEDEN",          0x80, 0x80 }
497 ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
499         return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
500             0x1f, regvalue, cur_col, wrap));
504 ahc_busy_targets_print(u_int regvalue, u_int *cur_col, u_int wrap)
506         return (ahc_print_register(NULL, 0, "BUSY_TARGETS",
507             0x20, regvalue, cur_col, wrap));
511 ahc_ultra_enb_print(u_int regvalue, u_int *cur_col, u_int wrap)
513         return (ahc_print_register(NULL, 0, "ULTRA_ENB",
514             0x30, regvalue, cur_col, wrap));
518 ahc_disc_dsb_print(u_int regvalue, u_int *cur_col, u_int wrap)
520         return (ahc_print_register(NULL, 0, "DISC_DSB",
521             0x32, regvalue, cur_col, wrap));
525 ahc_cmdsize_table_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
527         return (ahc_print_register(NULL, 0, "CMDSIZE_TABLE_TAIL",
528             0x34, regvalue, cur_col, wrap));
532 ahc_mwi_residual_print(u_int regvalue, u_int *cur_col, u_int wrap)
534         return (ahc_print_register(NULL, 0, "MWI_RESIDUAL",
535             0x38, regvalue, cur_col, wrap));
539 ahc_next_queued_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
541         return (ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB",
542             0x39, regvalue, cur_col, wrap));
546 ahc_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
548         return (ahc_print_register(NULL, 0, "MSG_OUT",
549             0x3a, regvalue, cur_col, wrap));
552 static ahc_reg_parse_entry_t DMAPARAMS_parse_table[] = {
553         { "FIFORESET",          0x01, 0x01 },
554         { "FIFOFLUSH",          0x02, 0x02 },
555         { "DIRECTION",          0x04, 0x04 },
556         { "HDMAEN",             0x08, 0x08 },
557         { "HDMAENACK",          0x08, 0x08 },
558         { "SDMAEN",             0x10, 0x10 },
559         { "SDMAENACK",          0x10, 0x10 },
560         { "SCSIEN",             0x20, 0x20 },
561         { "WIDEODD",            0x40, 0x40 },
562         { "PRELOADEN",          0x80, 0x80 }
566 ahc_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
568         return (ahc_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
569             0x3b, regvalue, cur_col, wrap));
572 static ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
573         { "NO_DISCONNECT",      0x01, 0x01 },
574         { "SPHASE_PENDING",     0x02, 0x02 },
575         { "DPHASE_PENDING",     0x04, 0x04 },
576         { "CMDPHASE_PENDING",   0x08, 0x08 },
577         { "TARG_CMD_PENDING",   0x10, 0x10 },
578         { "DPHASE",             0x20, 0x20 },
579         { "NO_CDB_SENT",        0x40, 0x40 },
580         { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
581         { "NOT_IDENTIFIED",     0x80, 0x80 }
585 ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
587         return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
588             0x3c, regvalue, cur_col, wrap));
592 ahc_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
594         return (ahc_print_register(NULL, 0, "SAVED_SCSIID",
595             0x3d, regvalue, cur_col, wrap));
599 ahc_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
601         return (ahc_print_register(NULL, 0, "SAVED_LUN",
602             0x3e, regvalue, cur_col, wrap));
605 static ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
606         { "MSGI",               0x20, 0x20 },
607         { "IOI",                0x40, 0x40 },
608         { "CDI",                0x80, 0x80 },
609         { "P_DATAOUT",          0x00, 0x00 },
610         { "P_BUSFREE",          0x01, 0x01 },
611         { "P_DATAIN",           0x40, 0x40 },
612         { "P_COMMAND",          0x80, 0x80 },
613         { "P_MESGOUT",          0xa0, 0xa0 },
614         { "P_STATUS",           0xc0, 0xc0 },
615         { "PHASE_MASK",         0xe0, 0xe0 },
616         { "P_MESGIN",           0xe0, 0xe0 }
620 ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
622         return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
623             0x3f, regvalue, cur_col, wrap));
627 ahc_waiting_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
629         return (ahc_print_register(NULL, 0, "WAITING_SCBH",
630             0x40, regvalue, cur_col, wrap));
634 ahc_disconnected_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
636         return (ahc_print_register(NULL, 0, "DISCONNECTED_SCBH",
637             0x41, regvalue, cur_col, wrap));
641 ahc_free_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
643         return (ahc_print_register(NULL, 0, "FREE_SCBH",
644             0x42, regvalue, cur_col, wrap));
648 ahc_complete_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
650         return (ahc_print_register(NULL, 0, "COMPLETE_SCBH",
651             0x43, regvalue, cur_col, wrap));
655 ahc_hscb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
657         return (ahc_print_register(NULL, 0, "HSCB_ADDR",
658             0x44, regvalue, cur_col, wrap));
662 ahc_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
664         return (ahc_print_register(NULL, 0, "SHARED_DATA_ADDR",
665             0x48, regvalue, cur_col, wrap));
669 ahc_kernel_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
671         return (ahc_print_register(NULL, 0, "KERNEL_QINPOS",
672             0x4c, regvalue, cur_col, wrap));
676 ahc_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
678         return (ahc_print_register(NULL, 0, "QINPOS",
679             0x4d, regvalue, cur_col, wrap));
683 ahc_qoutpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
685         return (ahc_print_register(NULL, 0, "QOUTPOS",
686             0x4e, regvalue, cur_col, wrap));
690 ahc_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
692         return (ahc_print_register(NULL, 0, "KERNEL_TQINPOS",
693             0x4f, regvalue, cur_col, wrap));
697 ahc_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
699         return (ahc_print_register(NULL, 0, "TQINPOS",
700             0x50, regvalue, cur_col, wrap));
703 static ahc_reg_parse_entry_t ARG_1_parse_table[] = {
704         { "CONT_TARG_SESSION",  0x02, 0x02 },
705         { "CONT_MSG_LOOP",      0x04, 0x04 },
706         { "EXIT_MSG_LOOP",      0x08, 0x08 },
707         { "MSGOUT_PHASEMIS",    0x10, 0x10 },
708         { "SEND_REJ",           0x20, 0x20 },
709         { "SEND_SENSE",         0x40, 0x40 },
710         { "SEND_MSG",           0x80, 0x80 }
714 ahc_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
716         return (ahc_print_register(ARG_1_parse_table, 7, "ARG_1",
717             0x51, regvalue, cur_col, wrap));
721 ahc_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
723         return (ahc_print_register(NULL, 0, "ARG_2",
724             0x52, regvalue, cur_col, wrap));
728 ahc_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
730         return (ahc_print_register(NULL, 0, "LAST_MSG",
731             0x53, regvalue, cur_col, wrap));
734 static ahc_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
735         { "ENAUTOATNP",         0x02, 0x02 },
736         { "ENAUTOATNI",         0x04, 0x04 },
737         { "ENAUTOATNO",         0x08, 0x08 },
738         { "ENRSELI",            0x10, 0x10 },
739         { "ENSELI",             0x20, 0x20 },
740         { "ENSELO",             0x40, 0x40 }
744 ahc_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
746         return (ahc_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
747             0x54, regvalue, cur_col, wrap));
750 static ahc_reg_parse_entry_t HA_274_BIOSGLOBAL_parse_table[] = {
751         { "HA_274_EXTENDED_TRANS",0x01, 0x01 }
755 ahc_ha_274_biosglobal_print(u_int regvalue, u_int *cur_col, u_int wrap)
757         return (ahc_print_register(HA_274_BIOSGLOBAL_parse_table, 1, "HA_274_BIOSGLOBAL",
758             0x56, regvalue, cur_col, wrap));
761 static ahc_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
762         { "SCB_DMA",            0x01, 0x01 },
763         { "TARGET_MSG_PENDING", 0x02, 0x02 }
767 ahc_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
769         return (ahc_print_register(SEQ_FLAGS2_parse_table, 2, "SEQ_FLAGS2",
770             0x57, regvalue, cur_col, wrap));
773 static ahc_reg_parse_entry_t SCSICONF_parse_table[] = {
774         { "ENSPCHK",            0x20, 0x20 },
775         { "RESET_SCSI",         0x40, 0x40 },
776         { "TERM_ENB",           0x80, 0x80 },
777         { "HSCSIID",            0x07, 0x07 },
778         { "HWSCSIID",           0x0f, 0x0f }
782 ahc_scsiconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
784         return (ahc_print_register(SCSICONF_parse_table, 5, "SCSICONF",
785             0x5a, regvalue, cur_col, wrap));
788 static ahc_reg_parse_entry_t INTDEF_parse_table[] = {
789         { "EDGE_TRIG",          0x80, 0x80 },
790         { "VECTOR",             0x0f, 0x0f }
794 ahc_intdef_print(u_int regvalue, u_int *cur_col, u_int wrap)
796         return (ahc_print_register(INTDEF_parse_table, 2, "INTDEF",
797             0x5c, regvalue, cur_col, wrap));
801 ahc_hostconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
803         return (ahc_print_register(NULL, 0, "HOSTCONF",
804             0x5d, regvalue, cur_col, wrap));
807 static ahc_reg_parse_entry_t HA_274_BIOSCTRL_parse_table[] = {
808         { "CHANNEL_B_PRIMARY",  0x08, 0x08 },
809         { "BIOSMODE",           0x30, 0x30 },
810         { "BIOSDISABLED",       0x30, 0x30 }
814 ahc_ha_274_biosctrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
816         return (ahc_print_register(HA_274_BIOSCTRL_parse_table, 3, "HA_274_BIOSCTRL",
817             0x5f, regvalue, cur_col, wrap));
820 static ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
821         { "LOADRAM",            0x01, 0x01 },
822         { "SEQRESET",           0x02, 0x02 },
823         { "STEP",               0x04, 0x04 },
824         { "BRKADRINTEN",        0x08, 0x08 },
825         { "FASTMODE",           0x10, 0x10 },
826         { "FAILDIS",            0x20, 0x20 },
827         { "PAUSEDIS",           0x40, 0x40 },
828         { "PERRORDIS",          0x80, 0x80 }
832 ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
834         return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
835             0x60, regvalue, cur_col, wrap));
839 ahc_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
841         return (ahc_print_register(NULL, 0, "SEQRAM",
842             0x61, regvalue, cur_col, wrap));
846 ahc_seqaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap)
848         return (ahc_print_register(NULL, 0, "SEQADDR0",
849             0x62, regvalue, cur_col, wrap));
852 static ahc_reg_parse_entry_t SEQADDR1_parse_table[] = {
853         { "SEQADDR1_MASK",      0x01, 0x01 }
857 ahc_seqaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap)
859         return (ahc_print_register(SEQADDR1_parse_table, 1, "SEQADDR1",
860             0x63, regvalue, cur_col, wrap));
864 ahc_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
866         return (ahc_print_register(NULL, 0, "ACCUM",
867             0x64, regvalue, cur_col, wrap));
871 ahc_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
873         return (ahc_print_register(NULL, 0, "SINDEX",
874             0x65, regvalue, cur_col, wrap));
878 ahc_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
880         return (ahc_print_register(NULL, 0, "DINDEX",
881             0x66, regvalue, cur_col, wrap));
885 ahc_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
887         return (ahc_print_register(NULL, 0, "ALLONES",
888             0x69, regvalue, cur_col, wrap));
892 ahc_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
894         return (ahc_print_register(NULL, 0, "ALLZEROS",
895             0x6a, regvalue, cur_col, wrap));
899 ahc_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
901         return (ahc_print_register(NULL, 0, "NONE",
902             0x6a, regvalue, cur_col, wrap));
905 static ahc_reg_parse_entry_t FLAGS_parse_table[] = {
906         { "CARRY",              0x01, 0x01 },
907         { "ZERO",               0x02, 0x02 }
911 ahc_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
913         return (ahc_print_register(FLAGS_parse_table, 2, "FLAGS",
914             0x6b, regvalue, cur_col, wrap));
918 ahc_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
920         return (ahc_print_register(NULL, 0, "SINDIR",
921             0x6c, regvalue, cur_col, wrap));
925 ahc_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
927         return (ahc_print_register(NULL, 0, "DINDIR",
928             0x6d, regvalue, cur_col, wrap));
932 ahc_function1_print(u_int regvalue, u_int *cur_col, u_int wrap)
934         return (ahc_print_register(NULL, 0, "FUNCTION1",
935             0x6e, regvalue, cur_col, wrap));
939 ahc_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
941         return (ahc_print_register(NULL, 0, "STACK",
942             0x6f, regvalue, cur_col, wrap));
946 ahc_targ_offset_print(u_int regvalue, u_int *cur_col, u_int wrap)
948         return (ahc_print_register(NULL, 0, "TARG_OFFSET",
949             0x70, regvalue, cur_col, wrap));
953 ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
955         return (ahc_print_register(NULL, 0, "SRAM_BASE",
956             0x70, regvalue, cur_col, wrap));
959 static ahc_reg_parse_entry_t BCTL_parse_table[] = {
960         { "ENABLE",             0x01, 0x01 },
961         { "ACE",                0x08, 0x08 }
965 ahc_bctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
967         return (ahc_print_register(BCTL_parse_table, 2, "BCTL",
968             0x84, regvalue, cur_col, wrap));
971 static ahc_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
972         { "CIOPARCKEN",         0x01, 0x01 },
973         { "USCBSIZE32",         0x02, 0x02 },
974         { "RAMPS",              0x04, 0x04 },
975         { "INTSCBRAMSEL",       0x08, 0x08 },
976         { "EXTREQLCK",          0x10, 0x10 },
977         { "MPARCKEN",           0x20, 0x20 },
978         { "DPARCKEN",           0x40, 0x40 },
979         { "CACHETHEN",          0x80, 0x80 }
983 ahc_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
985         return (ahc_print_register(DSCOMMAND0_parse_table, 8, "DSCOMMAND0",
986             0x84, regvalue, cur_col, wrap));
989 static ahc_reg_parse_entry_t BUSTIME_parse_table[] = {
990         { "BON",                0x0f, 0x0f },
991         { "BOFF",               0xf0, 0xf0 }
995 ahc_bustime_print(u_int regvalue, u_int *cur_col, u_int wrap)
997         return (ahc_print_register(BUSTIME_parse_table, 2, "BUSTIME",
998             0x85, regvalue, cur_col, wrap));
1001 static ahc_reg_parse_entry_t DSCOMMAND1_parse_table[] = {
1002         { "HADDLDSEL0",         0x01, 0x01 },
1003         { "HADDLDSEL1",         0x02, 0x02 },
1004         { "DSLATT",             0xfc, 0xfc }
1008 ahc_dscommand1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1010         return (ahc_print_register(DSCOMMAND1_parse_table, 3, "DSCOMMAND1",
1011             0x85, regvalue, cur_col, wrap));
1014 static ahc_reg_parse_entry_t BUSSPD_parse_table[] = {
1015         { "STBON",              0x07, 0x07 },
1016         { "STBOFF",             0x38, 0x38 },
1017         { "DFTHRSH_75",         0x80, 0x80 },
1018         { "DFTHRSH",            0xc0, 0xc0 },
1019         { "DFTHRSH_100",        0xc0, 0xc0 }
1023 ahc_busspd_print(u_int regvalue, u_int *cur_col, u_int wrap)
1025         return (ahc_print_register(BUSSPD_parse_table, 5, "BUSSPD",
1026             0x86, regvalue, cur_col, wrap));
1029 static ahc_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
1030         { "SEQ_MAILBOX",        0x0f, 0x0f },
1031         { "HOST_TQINPOS",       0x80, 0x80 },
1032         { "HOST_MAILBOX",       0xf0, 0xf0 }
1036 ahc_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
1038         return (ahc_print_register(HS_MAILBOX_parse_table, 3, "HS_MAILBOX",
1039             0x86, regvalue, cur_col, wrap));
1042 static ahc_reg_parse_entry_t DSPCISTATUS_parse_table[] = {
1043         { "DFTHRSH_100",        0xc0, 0xc0 }
1047 ahc_dspcistatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1049         return (ahc_print_register(DSPCISTATUS_parse_table, 1, "DSPCISTATUS",
1050             0x86, regvalue, cur_col, wrap));
1053 static ahc_reg_parse_entry_t HCNTRL_parse_table[] = {
1054         { "CHIPRST",            0x01, 0x01 },
1055         { "CHIPRSTACK",         0x01, 0x01 },
1056         { "INTEN",              0x02, 0x02 },
1057         { "PAUSE",              0x04, 0x04 },
1058         { "IRQMS",              0x08, 0x08 },
1059         { "SWINT",              0x10, 0x10 },
1060         { "POWRDN",             0x40, 0x40 }
1064 ahc_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1066         return (ahc_print_register(HCNTRL_parse_table, 7, "HCNTRL",
1067             0x87, regvalue, cur_col, wrap));
1071 ahc_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1073         return (ahc_print_register(NULL, 0, "HADDR",
1074             0x88, regvalue, cur_col, wrap));
1078 ahc_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1080         return (ahc_print_register(NULL, 0, "HCNT",
1081             0x8c, regvalue, cur_col, wrap));
1085 ahc_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1087         return (ahc_print_register(NULL, 0, "SCBPTR",
1088             0x90, regvalue, cur_col, wrap));
1091 static ahc_reg_parse_entry_t INTSTAT_parse_table[] = {
1092         { "SEQINT",             0x01, 0x01 },
1093         { "CMDCMPLT",           0x02, 0x02 },
1094         { "SCSIINT",            0x04, 0x04 },
1095         { "BRKADRINT",          0x08, 0x08 },
1096         { "BAD_PHASE",          0x01, 0x01 },
1097         { "INT_PEND",           0x0f, 0x0f },
1098         { "SEND_REJECT",        0x11, 0x11 },
1099         { "PROTO_VIOLATION",    0x21, 0x21 },
1100         { "NO_MATCH",           0x31, 0x31 },
1101         { "IGN_WIDE_RES",       0x41, 0x41 },
1102         { "PDATA_REINIT",       0x51, 0x51 },
1103         { "HOST_MSG_LOOP",      0x61, 0x61 },
1104         { "BAD_STATUS",         0x71, 0x71 },
1105         { "PERR_DETECTED",      0x81, 0x81 },
1106         { "DATA_OVERRUN",       0x91, 0x91 },
1107         { "MKMSG_FAILED",       0xa1, 0xa1 },
1108         { "MISSED_BUSFREE",     0xb1, 0xb1 },
1109         { "SCB_MISMATCH",       0xc1, 0xc1 },
1110         { "NO_FREE_SCB",        0xd1, 0xd1 },
1111         { "OUT_OF_RANGE",       0xe1, 0xe1 },
1112         { "SEQINT_MASK",        0xf1, 0xf1 }
1116 ahc_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1118         return (ahc_print_register(INTSTAT_parse_table, 21, "INTSTAT",
1119             0x91, regvalue, cur_col, wrap));
1122 static ahc_reg_parse_entry_t CLRINT_parse_table[] = {
1123         { "CLRSEQINT",          0x01, 0x01 },
1124         { "CLRCMDINT",          0x02, 0x02 },
1125         { "CLRSCSIINT",         0x04, 0x04 },
1126         { "CLRBRKADRINT",       0x08, 0x08 },
1127         { "CLRPARERR",          0x10, 0x10 }
1131 ahc_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
1133         return (ahc_print_register(CLRINT_parse_table, 5, "CLRINT",
1134             0x92, regvalue, cur_col, wrap));
1137 static ahc_reg_parse_entry_t ERROR_parse_table[] = {
1138         { "ILLHADDR",           0x01, 0x01 },
1139         { "ILLSADDR",           0x02, 0x02 },
1140         { "ILLOPCODE",          0x04, 0x04 },
1141         { "SQPARERR",           0x08, 0x08 },
1142         { "DPARERR",            0x10, 0x10 },
1143         { "MPARERR",            0x20, 0x20 },
1144         { "PCIERRSTAT",         0x40, 0x40 },
1145         { "CIOPARERR",          0x80, 0x80 }
1149 ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
1151         return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
1152             0x92, regvalue, cur_col, wrap));
1155 static ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
1156         { "FIFORESET",          0x01, 0x01 },
1157         { "FIFOFLUSH",          0x02, 0x02 },
1158         { "DIRECTION",          0x04, 0x04 },
1159         { "HDMAEN",             0x08, 0x08 },
1160         { "HDMAENACK",          0x08, 0x08 },
1161         { "SDMAEN",             0x10, 0x10 },
1162         { "SDMAENACK",          0x10, 0x10 },
1163         { "SCSIEN",             0x20, 0x20 },
1164         { "WIDEODD",            0x40, 0x40 },
1165         { "PRELOADEN",          0x80, 0x80 }
1169 ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1171         return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
1172             0x93, regvalue, cur_col, wrap));
1175 static ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
1176         { "FIFOEMP",            0x01, 0x01 },
1177         { "FIFOFULL",           0x02, 0x02 },
1178         { "DFTHRESH",           0x04, 0x04 },
1179         { "HDONE",              0x08, 0x08 },
1180         { "MREQPEND",           0x10, 0x10 },
1181         { "FIFOQWDEMP",         0x20, 0x20 },
1182         { "DFCACHETH",          0x40, 0x40 },
1183         { "PRELOAD_AVAIL",      0x80, 0x80 }
1187 ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1189         return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
1190             0x94, regvalue, cur_col, wrap));
1194 ahc_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1196         return (ahc_print_register(NULL, 0, "DFWADDR",
1197             0x95, regvalue, cur_col, wrap));
1201 ahc_dfraddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1203         return (ahc_print_register(NULL, 0, "DFRADDR",
1204             0x97, regvalue, cur_col, wrap));
1208 ahc_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1210         return (ahc_print_register(NULL, 0, "DFDAT",
1211             0x99, regvalue, cur_col, wrap));
1214 static ahc_reg_parse_entry_t SCBCNT_parse_table[] = {
1215         { "SCBAUTO",            0x80, 0x80 },
1216         { "SCBCNT_MASK",        0x1f, 0x1f }
1220 ahc_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1222         return (ahc_print_register(SCBCNT_parse_table, 2, "SCBCNT",
1223             0x9a, regvalue, cur_col, wrap));
1227 ahc_qinfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1229         return (ahc_print_register(NULL, 0, "QINFIFO",
1230             0x9b, regvalue, cur_col, wrap));
1234 ahc_qincnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1236         return (ahc_print_register(NULL, 0, "QINCNT",
1237             0x9c, regvalue, cur_col, wrap));
1241 ahc_qoutfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1243         return (ahc_print_register(NULL, 0, "QOUTFIFO",
1244             0x9d, regvalue, cur_col, wrap));
1247 static ahc_reg_parse_entry_t CRCCONTROL1_parse_table[] = {
1248         { "TARGCRCCNTEN",       0x04, 0x04 },
1249         { "TARGCRCENDEN",       0x08, 0x08 },
1250         { "CRCREQCHKEN",        0x10, 0x10 },
1251         { "CRCENDCHKEN",        0x20, 0x20 },
1252         { "CRCVALCHKEN",        0x40, 0x40 },
1253         { "CRCONSEEN",          0x80, 0x80 }
1257 ahc_crccontrol1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1259         return (ahc_print_register(CRCCONTROL1_parse_table, 6, "CRCCONTROL1",
1260             0x9d, regvalue, cur_col, wrap));
1264 ahc_qoutcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1266         return (ahc_print_register(NULL, 0, "QOUTCNT",
1267             0x9e, regvalue, cur_col, wrap));
1270 static ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
1271         { "DATA_OUT_PHASE",     0x01, 0x01 },
1272         { "DATA_IN_PHASE",      0x02, 0x02 },
1273         { "MSG_OUT_PHASE",      0x04, 0x04 },
1274         { "MSG_IN_PHASE",       0x08, 0x08 },
1275         { "COMMAND_PHASE",      0x10, 0x10 },
1276         { "STATUS_PHASE",       0x20, 0x20 },
1277         { "DATA_PHASE_MASK",    0x03, 0x03 }
1281 ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
1283         return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
1284             0x9e, regvalue, cur_col, wrap));
1287 static ahc_reg_parse_entry_t SFUNCT_parse_table[] = {
1288         { "ALT_MODE",           0x80, 0x80 }
1292 ahc_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap)
1294         return (ahc_print_register(SFUNCT_parse_table, 1, "SFUNCT",
1295             0x9f, regvalue, cur_col, wrap));
1299 ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
1301         return (ahc_print_register(NULL, 0, "SCB_BASE",
1302             0xa0, regvalue, cur_col, wrap));
1306 ahc_scb_cdb_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1308         return (ahc_print_register(NULL, 0, "SCB_CDB_PTR",
1309             0xa0, regvalue, cur_col, wrap));
1313 ahc_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1315         return (ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR",
1316             0xa4, regvalue, cur_col, wrap));
1320 ahc_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
1322         return (ahc_print_register(NULL, 0, "SCB_SCSI_STATUS",
1323             0xa8, regvalue, cur_col, wrap));
1327 ahc_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap)
1329         return (ahc_print_register(NULL, 0, "SCB_TARGET_PHASES",
1330             0xa9, regvalue, cur_col, wrap));
1334 ahc_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1336         return (ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR",
1337             0xaa, regvalue, cur_col, wrap));
1341 ahc_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1343         return (ahc_print_register(NULL, 0, "SCB_TARGET_ITAG",
1344             0xab, regvalue, cur_col, wrap));
1348 ahc_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1350         return (ahc_print_register(NULL, 0, "SCB_DATAPTR",
1351             0xac, regvalue, cur_col, wrap));
1354 static ahc_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
1355         { "SG_LAST_SEG",        0x80, 0x80 },
1356         { "SG_HIGH_ADDR_BITS",  0x7f, 0x7f }
1360 ahc_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1362         return (ahc_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
1363             0xb0, regvalue, cur_col, wrap));
1366 static ahc_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
1367         { "SG_LIST_NULL",       0x01, 0x01 },
1368         { "SG_FULL_RESID",      0x02, 0x02 },
1369         { "SG_RESID_VALID",     0x04, 0x04 }
1373 ahc_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1375         return (ahc_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
1376             0xb4, regvalue, cur_col, wrap));
1379 static ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
1380         { "DISCONNECTED",       0x04, 0x04 },
1381         { "ULTRAENB",           0x08, 0x08 },
1382         { "MK_MESSAGE",         0x10, 0x10 },
1383         { "TAG_ENB",            0x20, 0x20 },
1384         { "DISCENB",            0x40, 0x40 },
1385         { "TARGET_SCB",         0x80, 0x80 },
1386         { "STATUS_RCVD",        0x80, 0x80 },
1387         { "SCB_TAG_TYPE",       0x03, 0x03 }
1391 ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
1393         return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
1394             0xb8, regvalue, cur_col, wrap));
1397 static ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
1398         { "TWIN_CHNLB",         0x80, 0x80 },
1399         { "OID",                0x0f, 0x0f },
1400         { "TWIN_TID",           0x70, 0x70 },
1401         { "TID",                0xf0, 0xf0 }
1405 ahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1407         return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
1408             0xb9, regvalue, cur_col, wrap));
1411 static ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
1412         { "SCB_XFERLEN_ODD",    0x80, 0x80 },
1413         { "LID",                0x3f, 0x3f }
1417 ahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
1419         return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
1420             0xba, regvalue, cur_col, wrap));
1424 ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1426         return (ahc_print_register(NULL, 0, "SCB_TAG",
1427             0xbb, regvalue, cur_col, wrap));
1431 ahc_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
1433         return (ahc_print_register(NULL, 0, "SCB_CDB_LEN",
1434             0xbc, regvalue, cur_col, wrap));
1438 ahc_scb_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
1440         return (ahc_print_register(NULL, 0, "SCB_SCSIRATE",
1441             0xbd, regvalue, cur_col, wrap));
1445 ahc_scb_scsioffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
1447         return (ahc_print_register(NULL, 0, "SCB_SCSIOFFSET",
1448             0xbe, regvalue, cur_col, wrap));
1452 ahc_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
1454         return (ahc_print_register(NULL, 0, "SCB_NEXT",
1455             0xbf, regvalue, cur_col, wrap));
1459 ahc_scb_64_spare_print(u_int regvalue, u_int *cur_col, u_int wrap)
1461         return (ahc_print_register(NULL, 0, "SCB_64_SPARE",
1462             0xc0, regvalue, cur_col, wrap));
1465 static ahc_reg_parse_entry_t SEECTL_2840_parse_table[] = {
1466         { "DO_2840",            0x01, 0x01 },
1467         { "CK_2840",            0x02, 0x02 },
1468         { "CS_2840",            0x04, 0x04 }
1472 ahc_seectl_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1474         return (ahc_print_register(SEECTL_2840_parse_table, 3, "SEECTL_2840",
1475             0xc0, regvalue, cur_col, wrap));
1478 static ahc_reg_parse_entry_t STATUS_2840_parse_table[] = {
1479         { "DI_2840",            0x01, 0x01 },
1480         { "EEPROM_TF",          0x80, 0x80 },
1481         { "ADSEL",              0x1e, 0x1e },
1482         { "BIOS_SEL",           0x60, 0x60 }
1486 ahc_status_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1488         return (ahc_print_register(STATUS_2840_parse_table, 4, "STATUS_2840",
1489             0xc1, regvalue, cur_col, wrap));
1493 ahc_scb_64_btt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1495         return (ahc_print_register(NULL, 0, "SCB_64_BTT",
1496             0xd0, regvalue, cur_col, wrap));
1500 ahc_cchaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1502         return (ahc_print_register(NULL, 0, "CCHADDR",
1503             0xe0, regvalue, cur_col, wrap));
1507 ahc_cchcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1509         return (ahc_print_register(NULL, 0, "CCHCNT",
1510             0xe8, regvalue, cur_col, wrap));
1514 ahc_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1516         return (ahc_print_register(NULL, 0, "CCSGRAM",
1517             0xe9, regvalue, cur_col, wrap));
1521 ahc_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1523         return (ahc_print_register(NULL, 0, "CCSGADDR",
1524             0xea, regvalue, cur_col, wrap));
1527 static ahc_reg_parse_entry_t CCSGCTL_parse_table[] = {
1528         { "CCSGRESET",          0x01, 0x01 },
1529         { "SG_FETCH_NEEDED",    0x02, 0x02 },
1530         { "CCSGEN",             0x08, 0x08 },
1531         { "CCSGDONE",           0x80, 0x80 }
1535 ahc_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1537         return (ahc_print_register(CCSGCTL_parse_table, 4, "CCSGCTL",
1538             0xeb, regvalue, cur_col, wrap));
1542 ahc_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1544         return (ahc_print_register(NULL, 0, "CCSCBRAM",
1545             0xec, regvalue, cur_col, wrap));
1549 ahc_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1551         return (ahc_print_register(NULL, 0, "CCSCBADDR",
1552             0xed, regvalue, cur_col, wrap));
1555 static ahc_reg_parse_entry_t CCSCBCTL_parse_table[] = {
1556         { "CCSCBRESET",         0x01, 0x01 },
1557         { "CCSCBDIR",           0x04, 0x04 },
1558         { "CCSCBEN",            0x08, 0x08 },
1559         { "CCARREN",            0x10, 0x10 },
1560         { "ARRDONE",            0x40, 0x40 },
1561         { "CCSCBDONE",          0x80, 0x80 }
1565 ahc_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1567         return (ahc_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
1568             0xee, regvalue, cur_col, wrap));
1572 ahc_ccscbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1574         return (ahc_print_register(NULL, 0, "CCSCBCNT",
1575             0xef, regvalue, cur_col, wrap));
1579 ahc_scbbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1581         return (ahc_print_register(NULL, 0, "SCBBADDR",
1582             0xf0, regvalue, cur_col, wrap));
1586 ahc_ccscbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1588         return (ahc_print_register(NULL, 0, "CCSCBPTR",
1589             0xf1, regvalue, cur_col, wrap));
1593 ahc_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1595         return (ahc_print_register(NULL, 0, "HNSCB_QOFF",
1596             0xf4, regvalue, cur_col, wrap));
1600 ahc_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1602         return (ahc_print_register(NULL, 0, "SNSCB_QOFF",
1603             0xf6, regvalue, cur_col, wrap));
1607 ahc_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1609         return (ahc_print_register(NULL, 0, "SDSCB_QOFF",
1610             0xf8, regvalue, cur_col, wrap));
1613 static ahc_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
1614         { "SDSCB_ROLLOVER",     0x10, 0x10 },
1615         { "SNSCB_ROLLOVER",     0x20, 0x20 },
1616         { "SCB_AVAIL",          0x40, 0x40 },
1617         { "SCB_QSIZE_256",      0x06, 0x06 },
1618         { "SCB_QSIZE",          0x07, 0x07 }
1622 ahc_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
1624         return (ahc_print_register(QOFF_CTLSTA_parse_table, 5, "QOFF_CTLSTA",
1625             0xfa, regvalue, cur_col, wrap));
1628 static ahc_reg_parse_entry_t DFF_THRSH_parse_table[] = {
1629         { "RD_DFTHRSH_MIN",     0x00, 0x00 },
1630         { "WR_DFTHRSH_MIN",     0x00, 0x00 },
1631         { "RD_DFTHRSH_25",      0x01, 0x01 },
1632         { "RD_DFTHRSH_50",      0x02, 0x02 },
1633         { "RD_DFTHRSH_63",      0x03, 0x03 },
1634         { "RD_DFTHRSH_75",      0x04, 0x04 },
1635         { "RD_DFTHRSH_85",      0x05, 0x05 },
1636         { "RD_DFTHRSH_90",      0x06, 0x06 },
1637         { "RD_DFTHRSH",         0x07, 0x07 },
1638         { "RD_DFTHRSH_MAX",     0x07, 0x07 },
1639         { "WR_DFTHRSH_25",      0x10, 0x10 },
1640         { "WR_DFTHRSH_50",      0x20, 0x20 },
1641         { "WR_DFTHRSH_63",      0x30, 0x30 },
1642         { "WR_DFTHRSH_75",      0x40, 0x40 },
1643         { "WR_DFTHRSH_85",      0x50, 0x50 },
1644         { "WR_DFTHRSH_90",      0x60, 0x60 },
1645         { "WR_DFTHRSH",         0x70, 0x70 },
1646         { "WR_DFTHRSH_MAX",     0x70, 0x70 }
1650 ahc_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
1652         return (ahc_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
1653             0xfb, regvalue, cur_col, wrap));
1656 static ahc_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
1657         { "LAST_SEG_DONE",      0x01, 0x01 },
1658         { "LAST_SEG",           0x02, 0x02 },
1659         { "SG_ADDR_MASK",       0xf8, 0xf8 }
1663 ahc_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
1665         return (ahc_print_register(SG_CACHE_SHADOW_parse_table, 3, "SG_CACHE_SHADOW",
1666             0xfc, regvalue, cur_col, wrap));
1669 static ahc_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
1670         { "LAST_SEG_DONE",      0x01, 0x01 },
1671         { "LAST_SEG",           0x02, 0x02 },
1672         { "SG_ADDR_MASK",       0xf8, 0xf8 }
1676 ahc_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
1678         return (ahc_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
1679             0xfc, regvalue, cur_col, wrap));