2 * DO NOT EDIT - This file is automatically generated
3 * from the following source files:
5 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
6 * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
9 #include "aic7xxx_osm.h"
11 static const 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 }
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 const 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 }
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 const 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 }
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 const 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 }
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 const 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 const 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 const 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_stcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
156 return (ahc_print_register(NULL, 0, "STCNT",
157 0x08, regvalue, cur_col, wrap));
160 static const ahc_reg_parse_entry_t OPTIONMODE_parse_table[] = {
161 { "DIS_MSGIN_DUALEDGE", 0x01, 0x01 },
162 { "AUTO_MSGOUT_DE", 0x02, 0x02 },
163 { "SCSIDATL_IMGEN", 0x04, 0x04 },
164 { "EXPPHASEDIS", 0x08, 0x08 },
165 { "BUSFREEREV", 0x10, 0x10 },
166 { "ATNMGMNTEN", 0x20, 0x20 },
167 { "AUTOACKEN", 0x40, 0x40 },
168 { "AUTORATEEN", 0x80, 0x80 },
169 { "OPTIONMODE_DEFAULTS",0x03, 0x03 }
173 ahc_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
175 return (ahc_print_register(OPTIONMODE_parse_table, 9, "OPTIONMODE",
176 0x08, regvalue, cur_col, wrap));
180 ahc_targcrccnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
182 return (ahc_print_register(NULL, 0, "TARGCRCCNT",
183 0x0a, regvalue, cur_col, wrap));
186 static const ahc_reg_parse_entry_t CLRSINT0_parse_table[] = {
187 { "CLRSPIORDY", 0x02, 0x02 },
188 { "CLRSWRAP", 0x08, 0x08 },
189 { "CLRIOERR", 0x08, 0x08 },
190 { "CLRSELINGO", 0x10, 0x10 },
191 { "CLRSELDI", 0x20, 0x20 },
192 { "CLRSELDO", 0x40, 0x40 }
196 ahc_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
198 return (ahc_print_register(CLRSINT0_parse_table, 6, "CLRSINT0",
199 0x0b, regvalue, cur_col, wrap));
202 static const ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
203 { "DMADONE", 0x01, 0x01 },
204 { "SPIORDY", 0x02, 0x02 },
205 { "SDONE", 0x04, 0x04 },
206 { "SWRAP", 0x08, 0x08 },
207 { "IOERR", 0x08, 0x08 },
208 { "SELINGO", 0x10, 0x10 },
209 { "SELDI", 0x20, 0x20 },
210 { "SELDO", 0x40, 0x40 },
211 { "TARGET", 0x80, 0x80 }
215 ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
217 return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
218 0x0b, regvalue, cur_col, wrap));
221 static const ahc_reg_parse_entry_t CLRSINT1_parse_table[] = {
222 { "CLRREQINIT", 0x01, 0x01 },
223 { "CLRPHASECHG", 0x02, 0x02 },
224 { "CLRSCSIPERR", 0x04, 0x04 },
225 { "CLRBUSFREE", 0x08, 0x08 },
226 { "CLRSCSIRSTI", 0x20, 0x20 },
227 { "CLRATNO", 0x40, 0x40 },
228 { "CLRSELTIMEO", 0x80, 0x80 }
232 ahc_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
234 return (ahc_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
235 0x0c, regvalue, cur_col, wrap));
238 static const ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
239 { "REQINIT", 0x01, 0x01 },
240 { "PHASECHG", 0x02, 0x02 },
241 { "SCSIPERR", 0x04, 0x04 },
242 { "BUSFREE", 0x08, 0x08 },
243 { "PHASEMIS", 0x10, 0x10 },
244 { "SCSIRSTI", 0x20, 0x20 },
245 { "ATNTARG", 0x40, 0x40 },
246 { "SELTO", 0x80, 0x80 }
250 ahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
252 return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
253 0x0c, regvalue, cur_col, wrap));
256 static const ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
257 { "DUAL_EDGE_ERR", 0x01, 0x01 },
258 { "CRCREQERR", 0x02, 0x02 },
259 { "CRCENDERR", 0x04, 0x04 },
260 { "CRCVALERR", 0x08, 0x08 },
261 { "EXP_ACTIVE", 0x10, 0x10 },
262 { "SHVALID", 0x40, 0x40 },
263 { "OVERRUN", 0x80, 0x80 },
264 { "SFCNT", 0x1f, 0x1f }
268 ahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
270 return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
271 0x0d, regvalue, cur_col, wrap));
274 static const ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
275 { "OFFCNT", 0x0f, 0x0f },
276 { "U2OFFCNT", 0x7f, 0x7f },
277 { "SCSICNT", 0xf0, 0xf0 }
281 ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
283 return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
284 0x0e, regvalue, cur_col, wrap));
287 static const ahc_reg_parse_entry_t SCSIID_ULTRA2_parse_table[] = {
288 { "OID", 0x0f, 0x0f },
289 { "TID", 0xf0, 0xf0 }
293 ahc_scsiid_ultra2_print(u_int regvalue, u_int *cur_col, u_int wrap)
295 return (ahc_print_register(SCSIID_ULTRA2_parse_table, 2, "SCSIID_ULTRA2",
296 0x0f, regvalue, cur_col, wrap));
299 static const ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
300 { "ENDMADONE", 0x01, 0x01 },
301 { "ENSPIORDY", 0x02, 0x02 },
302 { "ENSDONE", 0x04, 0x04 },
303 { "ENSWRAP", 0x08, 0x08 },
304 { "ENIOERR", 0x08, 0x08 },
305 { "ENSELINGO", 0x10, 0x10 },
306 { "ENSELDI", 0x20, 0x20 },
307 { "ENSELDO", 0x40, 0x40 }
311 ahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
313 return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
314 0x10, regvalue, cur_col, wrap));
317 static const ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
318 { "ENREQINIT", 0x01, 0x01 },
319 { "ENPHASECHG", 0x02, 0x02 },
320 { "ENSCSIPERR", 0x04, 0x04 },
321 { "ENBUSFREE", 0x08, 0x08 },
322 { "ENPHASEMIS", 0x10, 0x10 },
323 { "ENSCSIRST", 0x20, 0x20 },
324 { "ENATNTARG", 0x40, 0x40 },
325 { "ENSELTIMO", 0x80, 0x80 }
329 ahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
331 return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
332 0x11, regvalue, cur_col, wrap));
336 ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
338 return (ahc_print_register(NULL, 0, "SCSIBUSL",
339 0x12, regvalue, cur_col, wrap));
343 ahc_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
345 return (ahc_print_register(NULL, 0, "SHADDR",
346 0x14, regvalue, cur_col, wrap));
349 static const ahc_reg_parse_entry_t SELTIMER_parse_table[] = {
350 { "STAGE1", 0x01, 0x01 },
351 { "STAGE2", 0x02, 0x02 },
352 { "STAGE3", 0x04, 0x04 },
353 { "STAGE4", 0x08, 0x08 },
354 { "STAGE5", 0x10, 0x10 },
355 { "STAGE6", 0x20, 0x20 }
359 ahc_seltimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
361 return (ahc_print_register(SELTIMER_parse_table, 6, "SELTIMER",
362 0x18, regvalue, cur_col, wrap));
365 static const ahc_reg_parse_entry_t SELID_parse_table[] = {
366 { "ONEBIT", 0x08, 0x08 },
367 { "SELID_MASK", 0xf0, 0xf0 }
371 ahc_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
373 return (ahc_print_register(SELID_parse_table, 2, "SELID",
374 0x19, regvalue, cur_col, wrap));
378 ahc_targid_print(u_int regvalue, u_int *cur_col, u_int wrap)
380 return (ahc_print_register(NULL, 0, "TARGID",
381 0x1b, regvalue, cur_col, wrap));
384 static const ahc_reg_parse_entry_t SPIOCAP_parse_table[] = {
385 { "SSPIOCPS", 0x01, 0x01 },
386 { "ROM", 0x02, 0x02 },
387 { "EEPROM", 0x04, 0x04 },
388 { "SEEPROM", 0x08, 0x08 },
389 { "EXT_BRDCTL", 0x10, 0x10 },
390 { "SOFTCMDEN", 0x20, 0x20 },
391 { "SOFT0", 0x40, 0x40 },
392 { "SOFT1", 0x80, 0x80 }
396 ahc_spiocap_print(u_int regvalue, u_int *cur_col, u_int wrap)
398 return (ahc_print_register(SPIOCAP_parse_table, 8, "SPIOCAP",
399 0x1b, regvalue, cur_col, wrap));
402 static const ahc_reg_parse_entry_t BRDCTL_parse_table[] = {
403 { "BRDCTL0", 0x01, 0x01 },
404 { "BRDSTB_ULTRA2", 0x01, 0x01 },
405 { "BRDCTL1", 0x02, 0x02 },
406 { "BRDRW_ULTRA2", 0x02, 0x02 },
407 { "BRDRW", 0x04, 0x04 },
408 { "BRDDAT2", 0x04, 0x04 },
409 { "BRDCS", 0x08, 0x08 },
410 { "BRDDAT3", 0x08, 0x08 },
411 { "BRDSTB", 0x10, 0x10 },
412 { "BRDDAT4", 0x10, 0x10 },
413 { "BRDDAT5", 0x20, 0x20 },
414 { "BRDDAT6", 0x40, 0x40 },
415 { "BRDDAT7", 0x80, 0x80 }
419 ahc_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
421 return (ahc_print_register(BRDCTL_parse_table, 13, "BRDCTL",
422 0x1d, regvalue, cur_col, wrap));
425 static const ahc_reg_parse_entry_t SEECTL_parse_table[] = {
426 { "SEEDI", 0x01, 0x01 },
427 { "SEEDO", 0x02, 0x02 },
428 { "SEECK", 0x04, 0x04 },
429 { "SEECS", 0x08, 0x08 },
430 { "SEERDY", 0x10, 0x10 },
431 { "SEEMS", 0x20, 0x20 },
432 { "EXTARBREQ", 0x40, 0x40 },
433 { "EXTARBACK", 0x80, 0x80 }
437 ahc_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
439 return (ahc_print_register(SEECTL_parse_table, 8, "SEECTL",
440 0x1e, regvalue, cur_col, wrap));
443 static const ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
444 { "XCVR", 0x01, 0x01 },
445 { "SELWIDE", 0x02, 0x02 },
446 { "ENAB20", 0x04, 0x04 },
447 { "SELBUSB", 0x08, 0x08 },
448 { "ENAB40", 0x08, 0x08 },
449 { "AUTOFLUSHDIS", 0x20, 0x20 },
450 { "DIAGLEDON", 0x40, 0x40 },
451 { "DIAGLEDEN", 0x80, 0x80 }
455 ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
457 return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
458 0x1f, regvalue, cur_col, wrap));
462 ahc_busy_targets_print(u_int regvalue, u_int *cur_col, u_int wrap)
464 return (ahc_print_register(NULL, 0, "BUSY_TARGETS",
465 0x20, regvalue, cur_col, wrap));
469 ahc_ultra_enb_print(u_int regvalue, u_int *cur_col, u_int wrap)
471 return (ahc_print_register(NULL, 0, "ULTRA_ENB",
472 0x30, regvalue, cur_col, wrap));
476 ahc_disc_dsb_print(u_int regvalue, u_int *cur_col, u_int wrap)
478 return (ahc_print_register(NULL, 0, "DISC_DSB",
479 0x32, regvalue, cur_col, wrap));
483 ahc_mwi_residual_print(u_int regvalue, u_int *cur_col, u_int wrap)
485 return (ahc_print_register(NULL, 0, "MWI_RESIDUAL",
486 0x38, regvalue, cur_col, wrap));
490 ahc_next_queued_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
492 return (ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB",
493 0x39, regvalue, cur_col, wrap));
497 ahc_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
499 return (ahc_print_register(NULL, 0, "MSG_OUT",
500 0x3a, regvalue, cur_col, wrap));
503 static const ahc_reg_parse_entry_t DMAPARAMS_parse_table[] = {
504 { "FIFORESET", 0x01, 0x01 },
505 { "FIFOFLUSH", 0x02, 0x02 },
506 { "DIRECTION", 0x04, 0x04 },
507 { "HDMAEN", 0x08, 0x08 },
508 { "HDMAENACK", 0x08, 0x08 },
509 { "SDMAEN", 0x10, 0x10 },
510 { "SDMAENACK", 0x10, 0x10 },
511 { "SCSIEN", 0x20, 0x20 },
512 { "WIDEODD", 0x40, 0x40 },
513 { "PRELOADEN", 0x80, 0x80 }
517 ahc_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
519 return (ahc_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
520 0x3b, regvalue, cur_col, wrap));
523 static const ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
524 { "NO_DISCONNECT", 0x01, 0x01 },
525 { "SPHASE_PENDING", 0x02, 0x02 },
526 { "DPHASE_PENDING", 0x04, 0x04 },
527 { "CMDPHASE_PENDING", 0x08, 0x08 },
528 { "TARG_CMD_PENDING", 0x10, 0x10 },
529 { "DPHASE", 0x20, 0x20 },
530 { "NO_CDB_SENT", 0x40, 0x40 },
531 { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
532 { "NOT_IDENTIFIED", 0x80, 0x80 }
536 ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
538 return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
539 0x3c, regvalue, cur_col, wrap));
543 ahc_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
545 return (ahc_print_register(NULL, 0, "SAVED_SCSIID",
546 0x3d, regvalue, cur_col, wrap));
550 ahc_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
552 return (ahc_print_register(NULL, 0, "SAVED_LUN",
553 0x3e, regvalue, cur_col, wrap));
556 static const ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
557 { "MSGI", 0x20, 0x20 },
558 { "IOI", 0x40, 0x40 },
559 { "CDI", 0x80, 0x80 },
560 { "P_DATAOUT", 0x00, 0x00 },
561 { "P_BUSFREE", 0x01, 0x01 },
562 { "P_DATAIN", 0x40, 0x40 },
563 { "P_COMMAND", 0x80, 0x80 },
564 { "P_MESGOUT", 0xa0, 0xa0 },
565 { "P_STATUS", 0xc0, 0xc0 },
566 { "PHASE_MASK", 0xe0, 0xe0 },
567 { "P_MESGIN", 0xe0, 0xe0 }
571 ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
573 return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
574 0x3f, regvalue, cur_col, wrap));
578 ahc_waiting_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
580 return (ahc_print_register(NULL, 0, "WAITING_SCBH",
581 0x40, regvalue, cur_col, wrap));
585 ahc_disconnected_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
587 return (ahc_print_register(NULL, 0, "DISCONNECTED_SCBH",
588 0x41, regvalue, cur_col, wrap));
592 ahc_free_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
594 return (ahc_print_register(NULL, 0, "FREE_SCBH",
595 0x42, regvalue, cur_col, wrap));
599 ahc_hscb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
601 return (ahc_print_register(NULL, 0, "HSCB_ADDR",
602 0x44, regvalue, cur_col, wrap));
606 ahc_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
608 return (ahc_print_register(NULL, 0, "SHARED_DATA_ADDR",
609 0x48, regvalue, cur_col, wrap));
613 ahc_kernel_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
615 return (ahc_print_register(NULL, 0, "KERNEL_QINPOS",
616 0x4c, regvalue, cur_col, wrap));
620 ahc_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
622 return (ahc_print_register(NULL, 0, "QINPOS",
623 0x4d, regvalue, cur_col, wrap));
627 ahc_qoutpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
629 return (ahc_print_register(NULL, 0, "QOUTPOS",
630 0x4e, regvalue, cur_col, wrap));
634 ahc_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
636 return (ahc_print_register(NULL, 0, "KERNEL_TQINPOS",
637 0x4f, regvalue, cur_col, wrap));
641 ahc_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
643 return (ahc_print_register(NULL, 0, "TQINPOS",
644 0x50, regvalue, cur_col, wrap));
647 static const ahc_reg_parse_entry_t ARG_1_parse_table[] = {
648 { "CONT_TARG_SESSION", 0x02, 0x02 },
649 { "CONT_MSG_LOOP", 0x04, 0x04 },
650 { "EXIT_MSG_LOOP", 0x08, 0x08 },
651 { "MSGOUT_PHASEMIS", 0x10, 0x10 },
652 { "SEND_REJ", 0x20, 0x20 },
653 { "SEND_SENSE", 0x40, 0x40 },
654 { "SEND_MSG", 0x80, 0x80 }
658 ahc_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
660 return (ahc_print_register(ARG_1_parse_table, 7, "ARG_1",
661 0x51, regvalue, cur_col, wrap));
665 ahc_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
667 return (ahc_print_register(NULL, 0, "ARG_2",
668 0x52, regvalue, cur_col, wrap));
672 ahc_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
674 return (ahc_print_register(NULL, 0, "LAST_MSG",
675 0x53, regvalue, cur_col, wrap));
678 static const ahc_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
679 { "ENAUTOATNP", 0x02, 0x02 },
680 { "ENAUTOATNI", 0x04, 0x04 },
681 { "ENAUTOATNO", 0x08, 0x08 },
682 { "ENRSELI", 0x10, 0x10 },
683 { "ENSELI", 0x20, 0x20 },
684 { "ENSELO", 0x40, 0x40 }
688 ahc_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
690 return (ahc_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
691 0x54, regvalue, cur_col, wrap));
694 static const ahc_reg_parse_entry_t HA_274_BIOSGLOBAL_parse_table[] = {
695 { "HA_274_EXTENDED_TRANS",0x01, 0x01 }
699 ahc_ha_274_biosglobal_print(u_int regvalue, u_int *cur_col, u_int wrap)
701 return (ahc_print_register(HA_274_BIOSGLOBAL_parse_table, 1, "HA_274_BIOSGLOBAL",
702 0x56, regvalue, cur_col, wrap));
705 static const ahc_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
706 { "SCB_DMA", 0x01, 0x01 },
707 { "TARGET_MSG_PENDING", 0x02, 0x02 }
711 ahc_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
713 return (ahc_print_register(SEQ_FLAGS2_parse_table, 2, "SEQ_FLAGS2",
714 0x57, regvalue, cur_col, wrap));
717 static const ahc_reg_parse_entry_t SCSICONF_parse_table[] = {
718 { "ENSPCHK", 0x20, 0x20 },
719 { "RESET_SCSI", 0x40, 0x40 },
720 { "TERM_ENB", 0x80, 0x80 },
721 { "HSCSIID", 0x07, 0x07 },
722 { "HWSCSIID", 0x0f, 0x0f }
726 ahc_scsiconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
728 return (ahc_print_register(SCSICONF_parse_table, 5, "SCSICONF",
729 0x5a, regvalue, cur_col, wrap));
732 static const ahc_reg_parse_entry_t INTDEF_parse_table[] = {
733 { "EDGE_TRIG", 0x80, 0x80 },
734 { "VECTOR", 0x0f, 0x0f }
738 ahc_intdef_print(u_int regvalue, u_int *cur_col, u_int wrap)
740 return (ahc_print_register(INTDEF_parse_table, 2, "INTDEF",
741 0x5c, regvalue, cur_col, wrap));
745 ahc_hostconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
747 return (ahc_print_register(NULL, 0, "HOSTCONF",
748 0x5d, regvalue, cur_col, wrap));
751 static const ahc_reg_parse_entry_t HA_274_BIOSCTRL_parse_table[] = {
752 { "CHANNEL_B_PRIMARY", 0x08, 0x08 },
753 { "BIOSMODE", 0x30, 0x30 },
754 { "BIOSDISABLED", 0x30, 0x30 }
758 ahc_ha_274_biosctrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
760 return (ahc_print_register(HA_274_BIOSCTRL_parse_table, 3, "HA_274_BIOSCTRL",
761 0x5f, regvalue, cur_col, wrap));
764 static const ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
765 { "LOADRAM", 0x01, 0x01 },
766 { "SEQRESET", 0x02, 0x02 },
767 { "STEP", 0x04, 0x04 },
768 { "BRKADRINTEN", 0x08, 0x08 },
769 { "FASTMODE", 0x10, 0x10 },
770 { "FAILDIS", 0x20, 0x20 },
771 { "PAUSEDIS", 0x40, 0x40 },
772 { "PERRORDIS", 0x80, 0x80 }
776 ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
778 return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
779 0x60, regvalue, cur_col, wrap));
783 ahc_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
785 return (ahc_print_register(NULL, 0, "SEQRAM",
786 0x61, regvalue, cur_col, wrap));
790 ahc_seqaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap)
792 return (ahc_print_register(NULL, 0, "SEQADDR0",
793 0x62, regvalue, cur_col, wrap));
796 static const ahc_reg_parse_entry_t SEQADDR1_parse_table[] = {
797 { "SEQADDR1_MASK", 0x01, 0x01 }
801 ahc_seqaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap)
803 return (ahc_print_register(SEQADDR1_parse_table, 1, "SEQADDR1",
804 0x63, regvalue, cur_col, wrap));
808 ahc_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
810 return (ahc_print_register(NULL, 0, "ACCUM",
811 0x64, regvalue, cur_col, wrap));
815 ahc_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
817 return (ahc_print_register(NULL, 0, "SINDEX",
818 0x65, regvalue, cur_col, wrap));
822 ahc_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
824 return (ahc_print_register(NULL, 0, "DINDEX",
825 0x66, regvalue, cur_col, wrap));
829 ahc_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
831 return (ahc_print_register(NULL, 0, "ALLONES",
832 0x69, regvalue, cur_col, wrap));
836 ahc_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
838 return (ahc_print_register(NULL, 0, "ALLZEROS",
839 0x6a, regvalue, cur_col, wrap));
843 ahc_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
845 return (ahc_print_register(NULL, 0, "NONE",
846 0x6a, regvalue, cur_col, wrap));
849 static const ahc_reg_parse_entry_t FLAGS_parse_table[] = {
850 { "CARRY", 0x01, 0x01 },
851 { "ZERO", 0x02, 0x02 }
855 ahc_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
857 return (ahc_print_register(FLAGS_parse_table, 2, "FLAGS",
858 0x6b, regvalue, cur_col, wrap));
862 ahc_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
864 return (ahc_print_register(NULL, 0, "SINDIR",
865 0x6c, regvalue, cur_col, wrap));
869 ahc_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
871 return (ahc_print_register(NULL, 0, "DINDIR",
872 0x6d, regvalue, cur_col, wrap));
876 ahc_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
878 return (ahc_print_register(NULL, 0, "STACK",
879 0x6f, regvalue, cur_col, wrap));
883 ahc_targ_offset_print(u_int regvalue, u_int *cur_col, u_int wrap)
885 return (ahc_print_register(NULL, 0, "TARG_OFFSET",
886 0x70, regvalue, cur_col, wrap));
890 ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
892 return (ahc_print_register(NULL, 0, "SRAM_BASE",
893 0x70, regvalue, cur_col, wrap));
896 static const ahc_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
897 { "CIOPARCKEN", 0x01, 0x01 },
898 { "USCBSIZE32", 0x02, 0x02 },
899 { "RAMPS", 0x04, 0x04 },
900 { "INTSCBRAMSEL", 0x08, 0x08 },
901 { "EXTREQLCK", 0x10, 0x10 },
902 { "MPARCKEN", 0x20, 0x20 },
903 { "DPARCKEN", 0x40, 0x40 },
904 { "CACHETHEN", 0x80, 0x80 }
908 ahc_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
910 return (ahc_print_register(DSCOMMAND0_parse_table, 8, "DSCOMMAND0",
911 0x84, regvalue, cur_col, wrap));
914 static const ahc_reg_parse_entry_t BUSTIME_parse_table[] = {
915 { "BON", 0x0f, 0x0f },
916 { "BOFF", 0xf0, 0xf0 }
920 ahc_bustime_print(u_int regvalue, u_int *cur_col, u_int wrap)
922 return (ahc_print_register(BUSTIME_parse_table, 2, "BUSTIME",
923 0x85, regvalue, cur_col, wrap));
926 static const ahc_reg_parse_entry_t DSCOMMAND1_parse_table[] = {
927 { "HADDLDSEL0", 0x01, 0x01 },
928 { "HADDLDSEL1", 0x02, 0x02 },
929 { "DSLATT", 0xfc, 0xfc }
933 ahc_dscommand1_print(u_int regvalue, u_int *cur_col, u_int wrap)
935 return (ahc_print_register(DSCOMMAND1_parse_table, 3, "DSCOMMAND1",
936 0x85, regvalue, cur_col, wrap));
939 static const ahc_reg_parse_entry_t BUSSPD_parse_table[] = {
940 { "STBON", 0x07, 0x07 },
941 { "STBOFF", 0x38, 0x38 },
942 { "DFTHRSH_75", 0x80, 0x80 },
943 { "DFTHRSH", 0xc0, 0xc0 },
944 { "DFTHRSH_100", 0xc0, 0xc0 }
948 ahc_busspd_print(u_int regvalue, u_int *cur_col, u_int wrap)
950 return (ahc_print_register(BUSSPD_parse_table, 5, "BUSSPD",
951 0x86, regvalue, cur_col, wrap));
954 static const ahc_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
955 { "SEQ_MAILBOX", 0x0f, 0x0f },
956 { "HOST_TQINPOS", 0x80, 0x80 },
957 { "HOST_MAILBOX", 0xf0, 0xf0 }
961 ahc_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
963 return (ahc_print_register(HS_MAILBOX_parse_table, 3, "HS_MAILBOX",
964 0x86, regvalue, cur_col, wrap));
967 static const ahc_reg_parse_entry_t DSPCISTATUS_parse_table[] = {
968 { "DFTHRSH_100", 0xc0, 0xc0 }
972 ahc_dspcistatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
974 return (ahc_print_register(DSPCISTATUS_parse_table, 1, "DSPCISTATUS",
975 0x86, regvalue, cur_col, wrap));
978 static const ahc_reg_parse_entry_t HCNTRL_parse_table[] = {
979 { "CHIPRST", 0x01, 0x01 },
980 { "CHIPRSTACK", 0x01, 0x01 },
981 { "INTEN", 0x02, 0x02 },
982 { "PAUSE", 0x04, 0x04 },
983 { "IRQMS", 0x08, 0x08 },
984 { "SWINT", 0x10, 0x10 },
985 { "POWRDN", 0x40, 0x40 }
989 ahc_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
991 return (ahc_print_register(HCNTRL_parse_table, 7, "HCNTRL",
992 0x87, regvalue, cur_col, wrap));
996 ahc_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
998 return (ahc_print_register(NULL, 0, "HADDR",
999 0x88, regvalue, cur_col, wrap));
1003 ahc_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1005 return (ahc_print_register(NULL, 0, "HCNT",
1006 0x8c, regvalue, cur_col, wrap));
1010 ahc_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1012 return (ahc_print_register(NULL, 0, "SCBPTR",
1013 0x90, regvalue, cur_col, wrap));
1016 static const ahc_reg_parse_entry_t INTSTAT_parse_table[] = {
1017 { "SEQINT", 0x01, 0x01 },
1018 { "CMDCMPLT", 0x02, 0x02 },
1019 { "SCSIINT", 0x04, 0x04 },
1020 { "BRKADRINT", 0x08, 0x08 },
1021 { "BAD_PHASE", 0x01, 0x01 },
1022 { "INT_PEND", 0x0f, 0x0f },
1023 { "SEND_REJECT", 0x11, 0x11 },
1024 { "PROTO_VIOLATION", 0x21, 0x21 },
1025 { "NO_MATCH", 0x31, 0x31 },
1026 { "IGN_WIDE_RES", 0x41, 0x41 },
1027 { "PDATA_REINIT", 0x51, 0x51 },
1028 { "HOST_MSG_LOOP", 0x61, 0x61 },
1029 { "BAD_STATUS", 0x71, 0x71 },
1030 { "PERR_DETECTED", 0x81, 0x81 },
1031 { "DATA_OVERRUN", 0x91, 0x91 },
1032 { "MKMSG_FAILED", 0xa1, 0xa1 },
1033 { "MISSED_BUSFREE", 0xb1, 0xb1 },
1034 { "SCB_MISMATCH", 0xc1, 0xc1 },
1035 { "NO_FREE_SCB", 0xd1, 0xd1 },
1036 { "OUT_OF_RANGE", 0xe1, 0xe1 },
1037 { "SEQINT_MASK", 0xf1, 0xf1 }
1041 ahc_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1043 return (ahc_print_register(INTSTAT_parse_table, 21, "INTSTAT",
1044 0x91, regvalue, cur_col, wrap));
1047 static const ahc_reg_parse_entry_t CLRINT_parse_table[] = {
1048 { "CLRSEQINT", 0x01, 0x01 },
1049 { "CLRCMDINT", 0x02, 0x02 },
1050 { "CLRSCSIINT", 0x04, 0x04 },
1051 { "CLRBRKADRINT", 0x08, 0x08 },
1052 { "CLRPARERR", 0x10, 0x10 }
1056 ahc_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
1058 return (ahc_print_register(CLRINT_parse_table, 5, "CLRINT",
1059 0x92, regvalue, cur_col, wrap));
1062 static const ahc_reg_parse_entry_t ERROR_parse_table[] = {
1063 { "ILLHADDR", 0x01, 0x01 },
1064 { "ILLSADDR", 0x02, 0x02 },
1065 { "ILLOPCODE", 0x04, 0x04 },
1066 { "SQPARERR", 0x08, 0x08 },
1067 { "DPARERR", 0x10, 0x10 },
1068 { "MPARERR", 0x20, 0x20 },
1069 { "PCIERRSTAT", 0x40, 0x40 },
1070 { "CIOPARERR", 0x80, 0x80 }
1074 ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
1076 return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
1077 0x92, regvalue, cur_col, wrap));
1080 static const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
1081 { "FIFORESET", 0x01, 0x01 },
1082 { "FIFOFLUSH", 0x02, 0x02 },
1083 { "DIRECTION", 0x04, 0x04 },
1084 { "HDMAEN", 0x08, 0x08 },
1085 { "HDMAENACK", 0x08, 0x08 },
1086 { "SDMAEN", 0x10, 0x10 },
1087 { "SDMAENACK", 0x10, 0x10 },
1088 { "SCSIEN", 0x20, 0x20 },
1089 { "WIDEODD", 0x40, 0x40 },
1090 { "PRELOADEN", 0x80, 0x80 }
1094 ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1096 return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
1097 0x93, regvalue, cur_col, wrap));
1100 static const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
1101 { "FIFOEMP", 0x01, 0x01 },
1102 { "FIFOFULL", 0x02, 0x02 },
1103 { "DFTHRESH", 0x04, 0x04 },
1104 { "HDONE", 0x08, 0x08 },
1105 { "MREQPEND", 0x10, 0x10 },
1106 { "FIFOQWDEMP", 0x20, 0x20 },
1107 { "DFCACHETH", 0x40, 0x40 },
1108 { "PRELOAD_AVAIL", 0x80, 0x80 }
1112 ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1114 return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
1115 0x94, regvalue, cur_col, wrap));
1119 ahc_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1121 return (ahc_print_register(NULL, 0, "DFWADDR",
1122 0x95, regvalue, cur_col, wrap));
1126 ahc_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1128 return (ahc_print_register(NULL, 0, "DFDAT",
1129 0x99, regvalue, cur_col, wrap));
1132 static const ahc_reg_parse_entry_t SCBCNT_parse_table[] = {
1133 { "SCBAUTO", 0x80, 0x80 },
1134 { "SCBCNT_MASK", 0x1f, 0x1f }
1138 ahc_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1140 return (ahc_print_register(SCBCNT_parse_table, 2, "SCBCNT",
1141 0x9a, regvalue, cur_col, wrap));
1145 ahc_qinfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1147 return (ahc_print_register(NULL, 0, "QINFIFO",
1148 0x9b, regvalue, cur_col, wrap));
1152 ahc_qoutfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1154 return (ahc_print_register(NULL, 0, "QOUTFIFO",
1155 0x9d, regvalue, cur_col, wrap));
1158 static const ahc_reg_parse_entry_t CRCCONTROL1_parse_table[] = {
1159 { "TARGCRCCNTEN", 0x04, 0x04 },
1160 { "TARGCRCENDEN", 0x08, 0x08 },
1161 { "CRCREQCHKEN", 0x10, 0x10 },
1162 { "CRCENDCHKEN", 0x20, 0x20 },
1163 { "CRCVALCHKEN", 0x40, 0x40 },
1164 { "CRCONSEEN", 0x80, 0x80 }
1168 ahc_crccontrol1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1170 return (ahc_print_register(CRCCONTROL1_parse_table, 6, "CRCCONTROL1",
1171 0x9d, regvalue, cur_col, wrap));
1174 static const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
1175 { "DATA_OUT_PHASE", 0x01, 0x01 },
1176 { "DATA_IN_PHASE", 0x02, 0x02 },
1177 { "MSG_OUT_PHASE", 0x04, 0x04 },
1178 { "MSG_IN_PHASE", 0x08, 0x08 },
1179 { "COMMAND_PHASE", 0x10, 0x10 },
1180 { "STATUS_PHASE", 0x20, 0x20 },
1181 { "DATA_PHASE_MASK", 0x03, 0x03 }
1185 ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
1187 return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
1188 0x9e, regvalue, cur_col, wrap));
1191 static const ahc_reg_parse_entry_t SFUNCT_parse_table[] = {
1192 { "ALT_MODE", 0x80, 0x80 }
1196 ahc_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap)
1198 return (ahc_print_register(SFUNCT_parse_table, 1, "SFUNCT",
1199 0x9f, regvalue, cur_col, wrap));
1203 ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
1205 return (ahc_print_register(NULL, 0, "SCB_BASE",
1206 0xa0, regvalue, cur_col, wrap));
1210 ahc_scb_cdb_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1212 return (ahc_print_register(NULL, 0, "SCB_CDB_PTR",
1213 0xa0, regvalue, cur_col, wrap));
1217 ahc_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1219 return (ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR",
1220 0xa4, regvalue, cur_col, wrap));
1224 ahc_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
1226 return (ahc_print_register(NULL, 0, "SCB_SCSI_STATUS",
1227 0xa8, regvalue, cur_col, wrap));
1231 ahc_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap)
1233 return (ahc_print_register(NULL, 0, "SCB_TARGET_PHASES",
1234 0xa9, regvalue, cur_col, wrap));
1238 ahc_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1240 return (ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR",
1241 0xaa, regvalue, cur_col, wrap));
1245 ahc_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1247 return (ahc_print_register(NULL, 0, "SCB_TARGET_ITAG",
1248 0xab, regvalue, cur_col, wrap));
1252 ahc_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1254 return (ahc_print_register(NULL, 0, "SCB_DATAPTR",
1255 0xac, regvalue, cur_col, wrap));
1258 static const ahc_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
1259 { "SG_LAST_SEG", 0x80, 0x80 },
1260 { "SG_HIGH_ADDR_BITS", 0x7f, 0x7f }
1264 ahc_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1266 return (ahc_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
1267 0xb0, regvalue, cur_col, wrap));
1270 static const ahc_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
1271 { "SG_LIST_NULL", 0x01, 0x01 },
1272 { "SG_FULL_RESID", 0x02, 0x02 },
1273 { "SG_RESID_VALID", 0x04, 0x04 }
1277 ahc_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1279 return (ahc_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
1280 0xb4, regvalue, cur_col, wrap));
1283 static const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
1284 { "DISCONNECTED", 0x04, 0x04 },
1285 { "ULTRAENB", 0x08, 0x08 },
1286 { "MK_MESSAGE", 0x10, 0x10 },
1287 { "TAG_ENB", 0x20, 0x20 },
1288 { "DISCENB", 0x40, 0x40 },
1289 { "TARGET_SCB", 0x80, 0x80 },
1290 { "STATUS_RCVD", 0x80, 0x80 },
1291 { "SCB_TAG_TYPE", 0x03, 0x03 }
1295 ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
1297 return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
1298 0xb8, regvalue, cur_col, wrap));
1301 static const ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
1302 { "TWIN_CHNLB", 0x80, 0x80 },
1303 { "OID", 0x0f, 0x0f },
1304 { "TWIN_TID", 0x70, 0x70 },
1305 { "TID", 0xf0, 0xf0 }
1309 ahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1311 return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
1312 0xb9, regvalue, cur_col, wrap));
1315 static const ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
1316 { "SCB_XFERLEN_ODD", 0x80, 0x80 },
1317 { "LID", 0x3f, 0x3f }
1321 ahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
1323 return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
1324 0xba, regvalue, cur_col, wrap));
1328 ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1330 return (ahc_print_register(NULL, 0, "SCB_TAG",
1331 0xbb, regvalue, cur_col, wrap));
1335 ahc_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
1337 return (ahc_print_register(NULL, 0, "SCB_CDB_LEN",
1338 0xbc, regvalue, cur_col, wrap));
1342 ahc_scb_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
1344 return (ahc_print_register(NULL, 0, "SCB_SCSIRATE",
1345 0xbd, regvalue, cur_col, wrap));
1349 ahc_scb_scsioffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
1351 return (ahc_print_register(NULL, 0, "SCB_SCSIOFFSET",
1352 0xbe, regvalue, cur_col, wrap));
1356 ahc_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
1358 return (ahc_print_register(NULL, 0, "SCB_NEXT",
1359 0xbf, regvalue, cur_col, wrap));
1362 static const ahc_reg_parse_entry_t SEECTL_2840_parse_table[] = {
1363 { "DO_2840", 0x01, 0x01 },
1364 { "CK_2840", 0x02, 0x02 },
1365 { "CS_2840", 0x04, 0x04 }
1369 ahc_seectl_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1371 return (ahc_print_register(SEECTL_2840_parse_table, 3, "SEECTL_2840",
1372 0xc0, regvalue, cur_col, wrap));
1375 static const ahc_reg_parse_entry_t STATUS_2840_parse_table[] = {
1376 { "DI_2840", 0x01, 0x01 },
1377 { "EEPROM_TF", 0x80, 0x80 },
1378 { "ADSEL", 0x1e, 0x1e },
1379 { "BIOS_SEL", 0x60, 0x60 }
1383 ahc_status_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1385 return (ahc_print_register(STATUS_2840_parse_table, 4, "STATUS_2840",
1386 0xc1, regvalue, cur_col, wrap));
1390 ahc_scb_64_btt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1392 return (ahc_print_register(NULL, 0, "SCB_64_BTT",
1393 0xd0, regvalue, cur_col, wrap));
1397 ahc_cchaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1399 return (ahc_print_register(NULL, 0, "CCHADDR",
1400 0xe0, regvalue, cur_col, wrap));
1404 ahc_cchcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1406 return (ahc_print_register(NULL, 0, "CCHCNT",
1407 0xe8, regvalue, cur_col, wrap));
1411 ahc_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1413 return (ahc_print_register(NULL, 0, "CCSGRAM",
1414 0xe9, regvalue, cur_col, wrap));
1418 ahc_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1420 return (ahc_print_register(NULL, 0, "CCSGADDR",
1421 0xea, regvalue, cur_col, wrap));
1424 static const ahc_reg_parse_entry_t CCSGCTL_parse_table[] = {
1425 { "CCSGRESET", 0x01, 0x01 },
1426 { "SG_FETCH_NEEDED", 0x02, 0x02 },
1427 { "CCSGEN", 0x08, 0x08 },
1428 { "CCSGDONE", 0x80, 0x80 }
1432 ahc_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1434 return (ahc_print_register(CCSGCTL_parse_table, 4, "CCSGCTL",
1435 0xeb, regvalue, cur_col, wrap));
1439 ahc_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1441 return (ahc_print_register(NULL, 0, "CCSCBRAM",
1442 0xec, regvalue, cur_col, wrap));
1446 ahc_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1448 return (ahc_print_register(NULL, 0, "CCSCBADDR",
1449 0xed, regvalue, cur_col, wrap));
1452 static const ahc_reg_parse_entry_t CCSCBCTL_parse_table[] = {
1453 { "CCSCBRESET", 0x01, 0x01 },
1454 { "CCSCBDIR", 0x04, 0x04 },
1455 { "CCSCBEN", 0x08, 0x08 },
1456 { "CCARREN", 0x10, 0x10 },
1457 { "ARRDONE", 0x40, 0x40 },
1458 { "CCSCBDONE", 0x80, 0x80 }
1462 ahc_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1464 return (ahc_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
1465 0xee, regvalue, cur_col, wrap));
1469 ahc_ccscbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1471 return (ahc_print_register(NULL, 0, "CCSCBCNT",
1472 0xef, regvalue, cur_col, wrap));
1476 ahc_scbbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1478 return (ahc_print_register(NULL, 0, "SCBBADDR",
1479 0xf0, regvalue, cur_col, wrap));
1483 ahc_ccscbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1485 return (ahc_print_register(NULL, 0, "CCSCBPTR",
1486 0xf1, regvalue, cur_col, wrap));
1490 ahc_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1492 return (ahc_print_register(NULL, 0, "HNSCB_QOFF",
1493 0xf4, regvalue, cur_col, wrap));
1497 ahc_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1499 return (ahc_print_register(NULL, 0, "SNSCB_QOFF",
1500 0xf6, regvalue, cur_col, wrap));
1504 ahc_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1506 return (ahc_print_register(NULL, 0, "SDSCB_QOFF",
1507 0xf8, regvalue, cur_col, wrap));
1510 static const ahc_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
1511 { "SDSCB_ROLLOVER", 0x10, 0x10 },
1512 { "SNSCB_ROLLOVER", 0x20, 0x20 },
1513 { "SCB_AVAIL", 0x40, 0x40 },
1514 { "SCB_QSIZE_256", 0x06, 0x06 },
1515 { "SCB_QSIZE", 0x07, 0x07 }
1519 ahc_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
1521 return (ahc_print_register(QOFF_CTLSTA_parse_table, 5, "QOFF_CTLSTA",
1522 0xfa, regvalue, cur_col, wrap));
1525 static const ahc_reg_parse_entry_t DFF_THRSH_parse_table[] = {
1526 { "RD_DFTHRSH_MIN", 0x00, 0x00 },
1527 { "WR_DFTHRSH_MIN", 0x00, 0x00 },
1528 { "RD_DFTHRSH_25", 0x01, 0x01 },
1529 { "RD_DFTHRSH_50", 0x02, 0x02 },
1530 { "RD_DFTHRSH_63", 0x03, 0x03 },
1531 { "RD_DFTHRSH_75", 0x04, 0x04 },
1532 { "RD_DFTHRSH_85", 0x05, 0x05 },
1533 { "RD_DFTHRSH_90", 0x06, 0x06 },
1534 { "RD_DFTHRSH", 0x07, 0x07 },
1535 { "RD_DFTHRSH_MAX", 0x07, 0x07 },
1536 { "WR_DFTHRSH_25", 0x10, 0x10 },
1537 { "WR_DFTHRSH_50", 0x20, 0x20 },
1538 { "WR_DFTHRSH_63", 0x30, 0x30 },
1539 { "WR_DFTHRSH_75", 0x40, 0x40 },
1540 { "WR_DFTHRSH_85", 0x50, 0x50 },
1541 { "WR_DFTHRSH_90", 0x60, 0x60 },
1542 { "WR_DFTHRSH", 0x70, 0x70 },
1543 { "WR_DFTHRSH_MAX", 0x70, 0x70 }
1547 ahc_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
1549 return (ahc_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
1550 0xfb, regvalue, cur_col, wrap));
1553 static const ahc_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
1554 { "LAST_SEG_DONE", 0x01, 0x01 },
1555 { "LAST_SEG", 0x02, 0x02 },
1556 { "SG_ADDR_MASK", 0xf8, 0xf8 }
1560 ahc_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
1562 return (ahc_print_register(SG_CACHE_SHADOW_parse_table, 3, "SG_CACHE_SHADOW",
1563 0xfc, regvalue, cur_col, wrap));
1566 static const ahc_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
1567 { "LAST_SEG_DONE", 0x01, 0x01 },
1568 { "LAST_SEG", 0x02, 0x02 },
1569 { "SG_ADDR_MASK", 0xf8, 0xf8 }
1573 ahc_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
1575 return (ahc_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
1576 0xfc, regvalue, cur_col, wrap));