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 $
10 __FBSDID("$FreeBSD$");
11 #include <dev/aic7xxx/aic7xxx_osm.h>
13 static ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
14 { "SCSIRSTO", 0x01, 0x01 },
15 { "ENAUTOATNP", 0x02, 0x02 },
16 { "ENAUTOATNI", 0x04, 0x04 },
17 { "ENAUTOATNO", 0x08, 0x08 },
18 { "ENRSELI", 0x10, 0x10 },
19 { "ENSELI", 0x20, 0x20 },
20 { "ENSELO", 0x40, 0x40 },
21 { "TEMODE", 0x80, 0x80 }
25 ahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
27 return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
28 0x00, regvalue, cur_col, wrap));
31 static ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
32 { "CLRCHN", 0x02, 0x02 },
33 { "SCAMEN", 0x04, 0x04 },
34 { "SPIOEN", 0x08, 0x08 },
35 { "CLRSTCNT", 0x10, 0x10 },
36 { "FAST20", 0x20, 0x20 },
37 { "DFPEXP", 0x40, 0x40 },
38 { "DFON", 0x80, 0x80 }
42 ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
44 return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
45 0x01, regvalue, cur_col, wrap));
48 static ahc_reg_parse_entry_t SXFRCTL1_parse_table[] = {
49 { "STPWEN", 0x01, 0x01 },
50 { "ACTNEGEN", 0x02, 0x02 },
51 { "ENSTIMER", 0x04, 0x04 },
52 { "ENSPCHK", 0x20, 0x20 },
53 { "SWRAPEN", 0x40, 0x40 },
54 { "BITBUCKET", 0x80, 0x80 },
55 { "STIMESEL", 0x18, 0x18 }
59 ahc_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
61 return (ahc_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
62 0x02, regvalue, cur_col, wrap));
65 static ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
66 { "ACKI", 0x01, 0x01 },
67 { "REQI", 0x02, 0x02 },
68 { "BSYI", 0x04, 0x04 },
69 { "SELI", 0x08, 0x08 },
70 { "ATNI", 0x10, 0x10 },
71 { "MSGI", 0x20, 0x20 },
72 { "IOI", 0x40, 0x40 },
73 { "CDI", 0x80, 0x80 },
74 { "P_DATAOUT", 0x00, 0x00 },
75 { "P_DATAOUT_DT", 0x20, 0x20 },
76 { "P_DATAIN", 0x40, 0x40 },
77 { "P_DATAIN_DT", 0x60, 0x60 },
78 { "P_COMMAND", 0x80, 0x80 },
79 { "P_MESGOUT", 0xa0, 0xa0 },
80 { "P_STATUS", 0xc0, 0xc0 },
81 { "PHASE_MASK", 0xe0, 0xe0 },
82 { "P_MESGIN", 0xe0, 0xe0 }
86 ahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
88 return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
89 0x03, regvalue, cur_col, wrap));
92 static ahc_reg_parse_entry_t SCSISIGO_parse_table[] = {
93 { "ACKO", 0x01, 0x01 },
94 { "REQO", 0x02, 0x02 },
95 { "BSYO", 0x04, 0x04 },
96 { "SELO", 0x08, 0x08 },
97 { "ATNO", 0x10, 0x10 },
98 { "MSGO", 0x20, 0x20 },
99 { "IOO", 0x40, 0x40 },
100 { "CDO", 0x80, 0x80 },
101 { "P_DATAOUT", 0x00, 0x00 },
102 { "P_DATAIN", 0x40, 0x40 },
103 { "P_COMMAND", 0x80, 0x80 },
104 { "P_MESGOUT", 0xa0, 0xa0 },
105 { "P_STATUS", 0xc0, 0xc0 },
106 { "PHASE_MASK", 0xe0, 0xe0 },
107 { "P_MESGIN", 0xe0, 0xe0 }
111 ahc_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
113 return (ahc_print_register(SCSISIGO_parse_table, 15, "SCSISIGO",
114 0x03, regvalue, cur_col, wrap));
117 static ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
118 { "SINGLE_EDGE", 0x10, 0x10 },
119 { "ENABLE_CRC", 0x40, 0x40 },
120 { "WIDEXFER", 0x80, 0x80 },
121 { "SXFR_ULTRA2", 0x0f, 0x0f },
122 { "SOFS", 0x0f, 0x0f },
123 { "SXFR", 0x70, 0x70 }
127 ahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
129 return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE",
130 0x04, regvalue, cur_col, wrap));
133 static ahc_reg_parse_entry_t SCSIID_parse_table[] = {
134 { "TWIN_CHNLB", 0x80, 0x80 },
135 { "OID", 0x0f, 0x0f },
136 { "TWIN_TID", 0x70, 0x70 },
137 { "SOFS_ULTRA2", 0x7f, 0x7f },
138 { "TID", 0xf0, 0xf0 }
142 ahc_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
144 return (ahc_print_register(SCSIID_parse_table, 5, "SCSIID",
145 0x05, regvalue, cur_col, wrap));
149 ahc_scsidatl_print(u_int regvalue, u_int *cur_col, u_int wrap)
151 return (ahc_print_register(NULL, 0, "SCSIDATL",
152 0x06, regvalue, cur_col, wrap));
156 ahc_scsidath_print(u_int regvalue, u_int *cur_col, u_int wrap)
158 return (ahc_print_register(NULL, 0, "SCSIDATH",
159 0x07, regvalue, cur_col, wrap));
162 static ahc_reg_parse_entry_t OPTIONMODE_parse_table[] = {
163 { "DIS_MSGIN_DUALEDGE", 0x01, 0x01 },
164 { "AUTO_MSGOUT_DE", 0x02, 0x02 },
165 { "SCSIDATL_IMGEN", 0x04, 0x04 },
166 { "EXPPHASEDIS", 0x08, 0x08 },
167 { "BUSFREEREV", 0x10, 0x10 },
168 { "ATNMGMNTEN", 0x20, 0x20 },
169 { "AUTOACKEN", 0x40, 0x40 },
170 { "AUTORATEEN", 0x80, 0x80 },
171 { "OPTIONMODE_DEFAULTS",0x03, 0x03 }
175 ahc_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
177 return (ahc_print_register(OPTIONMODE_parse_table, 9, "OPTIONMODE",
178 0x08, regvalue, cur_col, wrap));
182 ahc_stcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
184 return (ahc_print_register(NULL, 0, "STCNT",
185 0x08, regvalue, cur_col, wrap));
189 ahc_targcrccnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
191 return (ahc_print_register(NULL, 0, "TARGCRCCNT",
192 0x0a, regvalue, cur_col, wrap));
195 static ahc_reg_parse_entry_t CLRSINT0_parse_table[] = {
196 { "CLRSPIORDY", 0x02, 0x02 },
197 { "CLRSWRAP", 0x08, 0x08 },
198 { "CLRIOERR", 0x08, 0x08 },
199 { "CLRSELINGO", 0x10, 0x10 },
200 { "CLRSELDI", 0x20, 0x20 },
201 { "CLRSELDO", 0x40, 0x40 }
205 ahc_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
207 return (ahc_print_register(CLRSINT0_parse_table, 6, "CLRSINT0",
208 0x0b, regvalue, cur_col, wrap));
211 static ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
212 { "DMADONE", 0x01, 0x01 },
213 { "SPIORDY", 0x02, 0x02 },
214 { "SDONE", 0x04, 0x04 },
215 { "SWRAP", 0x08, 0x08 },
216 { "IOERR", 0x08, 0x08 },
217 { "SELINGO", 0x10, 0x10 },
218 { "SELDI", 0x20, 0x20 },
219 { "SELDO", 0x40, 0x40 },
220 { "TARGET", 0x80, 0x80 }
224 ahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
226 return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
227 0x0b, regvalue, cur_col, wrap));
230 static ahc_reg_parse_entry_t CLRSINT1_parse_table[] = {
231 { "CLRREQINIT", 0x01, 0x01 },
232 { "CLRPHASECHG", 0x02, 0x02 },
233 { "CLRSCSIPERR", 0x04, 0x04 },
234 { "CLRBUSFREE", 0x08, 0x08 },
235 { "CLRSCSIRSTI", 0x20, 0x20 },
236 { "CLRATNO", 0x40, 0x40 },
237 { "CLRSELTIMEO", 0x80, 0x80 }
241 ahc_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
243 return (ahc_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
244 0x0c, regvalue, cur_col, wrap));
247 static ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
248 { "REQINIT", 0x01, 0x01 },
249 { "PHASECHG", 0x02, 0x02 },
250 { "SCSIPERR", 0x04, 0x04 },
251 { "BUSFREE", 0x08, 0x08 },
252 { "PHASEMIS", 0x10, 0x10 },
253 { "SCSIRSTI", 0x20, 0x20 },
254 { "ATNTARG", 0x40, 0x40 },
255 { "SELTO", 0x80, 0x80 }
259 ahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
261 return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
262 0x0c, regvalue, cur_col, wrap));
265 static ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
266 { "DUAL_EDGE_ERR", 0x01, 0x01 },
267 { "CRCREQERR", 0x02, 0x02 },
268 { "CRCENDERR", 0x04, 0x04 },
269 { "CRCVALERR", 0x08, 0x08 },
270 { "EXP_ACTIVE", 0x10, 0x10 },
271 { "SHVALID", 0x40, 0x40 },
272 { "OVERRUN", 0x80, 0x80 },
273 { "SFCNT", 0x1f, 0x1f }
277 ahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
279 return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
280 0x0d, regvalue, cur_col, wrap));
283 static ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
284 { "OFFCNT", 0x0f, 0x0f },
285 { "U2OFFCNT", 0x7f, 0x7f },
286 { "SCSICNT", 0xf0, 0xf0 }
290 ahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
292 return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
293 0x0e, regvalue, cur_col, wrap));
296 static ahc_reg_parse_entry_t SCSIID_ULTRA2_parse_table[] = {
297 { "OID", 0x0f, 0x0f },
298 { "TID", 0xf0, 0xf0 }
302 ahc_scsiid_ultra2_print(u_int regvalue, u_int *cur_col, u_int wrap)
304 return (ahc_print_register(SCSIID_ULTRA2_parse_table, 2, "SCSIID_ULTRA2",
305 0x0f, regvalue, cur_col, wrap));
308 static ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
309 { "ENDMADONE", 0x01, 0x01 },
310 { "ENSPIORDY", 0x02, 0x02 },
311 { "ENSDONE", 0x04, 0x04 },
312 { "ENSWRAP", 0x08, 0x08 },
313 { "ENIOERR", 0x08, 0x08 },
314 { "ENSELINGO", 0x10, 0x10 },
315 { "ENSELDI", 0x20, 0x20 },
316 { "ENSELDO", 0x40, 0x40 }
320 ahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
322 return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
323 0x10, regvalue, cur_col, wrap));
326 static ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
327 { "ENREQINIT", 0x01, 0x01 },
328 { "ENPHASECHG", 0x02, 0x02 },
329 { "ENSCSIPERR", 0x04, 0x04 },
330 { "ENBUSFREE", 0x08, 0x08 },
331 { "ENPHASEMIS", 0x10, 0x10 },
332 { "ENSCSIRST", 0x20, 0x20 },
333 { "ENATNTARG", 0x40, 0x40 },
334 { "ENSELTIMO", 0x80, 0x80 }
338 ahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
340 return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
341 0x11, regvalue, cur_col, wrap));
345 ahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
347 return (ahc_print_register(NULL, 0, "SCSIBUSL",
348 0x12, regvalue, cur_col, wrap));
351 static ahc_reg_parse_entry_t SXFRCTL2_parse_table[] = {
352 { "CMDDMAEN", 0x08, 0x08 },
353 { "AUTORSTDIS", 0x10, 0x10 },
354 { "ASYNC_SETUP", 0x07, 0x07 }
358 ahc_sxfrctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
360 return (ahc_print_register(SXFRCTL2_parse_table, 3, "SXFRCTL2",
361 0x13, regvalue, cur_col, wrap));
365 ahc_scsibush_print(u_int regvalue, u_int *cur_col, u_int wrap)
367 return (ahc_print_register(NULL, 0, "SCSIBUSH",
368 0x13, regvalue, cur_col, wrap));
372 ahc_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
374 return (ahc_print_register(NULL, 0, "SHADDR",
375 0x14, regvalue, cur_col, wrap));
378 static ahc_reg_parse_entry_t SELTIMER_parse_table[] = {
379 { "STAGE1", 0x01, 0x01 },
380 { "STAGE2", 0x02, 0x02 },
381 { "STAGE3", 0x04, 0x04 },
382 { "STAGE4", 0x08, 0x08 },
383 { "STAGE5", 0x10, 0x10 },
384 { "STAGE6", 0x20, 0x20 }
388 ahc_seltimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
390 return (ahc_print_register(SELTIMER_parse_table, 6, "SELTIMER",
391 0x18, regvalue, cur_col, wrap));
394 static ahc_reg_parse_entry_t SELID_parse_table[] = {
395 { "ONEBIT", 0x08, 0x08 },
396 { "SELID_MASK", 0xf0, 0xf0 }
400 ahc_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
402 return (ahc_print_register(SELID_parse_table, 2, "SELID",
403 0x19, regvalue, cur_col, wrap));
406 static ahc_reg_parse_entry_t SCAMCTL_parse_table[] = {
407 { "DFLTTID", 0x10, 0x10 },
408 { "ALTSTIM", 0x20, 0x20 },
409 { "CLRSCAMSELID", 0x40, 0x40 },
410 { "ENSCAMSELO", 0x80, 0x80 },
411 { "SCAMLVL", 0x03, 0x03 }
415 ahc_scamctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
417 return (ahc_print_register(SCAMCTL_parse_table, 5, "SCAMCTL",
418 0x1a, regvalue, cur_col, wrap));
422 ahc_targid_print(u_int regvalue, u_int *cur_col, u_int wrap)
424 return (ahc_print_register(NULL, 0, "TARGID",
425 0x1b, regvalue, cur_col, wrap));
428 static ahc_reg_parse_entry_t SPIOCAP_parse_table[] = {
429 { "SSPIOCPS", 0x01, 0x01 },
430 { "ROM", 0x02, 0x02 },
431 { "EEPROM", 0x04, 0x04 },
432 { "SEEPROM", 0x08, 0x08 },
433 { "EXT_BRDCTL", 0x10, 0x10 },
434 { "SOFTCMDEN", 0x20, 0x20 },
435 { "SOFT0", 0x40, 0x40 },
436 { "SOFT1", 0x80, 0x80 }
440 ahc_spiocap_print(u_int regvalue, u_int *cur_col, u_int wrap)
442 return (ahc_print_register(SPIOCAP_parse_table, 8, "SPIOCAP",
443 0x1b, regvalue, cur_col, wrap));
446 static ahc_reg_parse_entry_t BRDCTL_parse_table[] = {
447 { "BRDCTL0", 0x01, 0x01 },
448 { "BRDSTB_ULTRA2", 0x01, 0x01 },
449 { "BRDCTL1", 0x02, 0x02 },
450 { "BRDRW_ULTRA2", 0x02, 0x02 },
451 { "BRDRW", 0x04, 0x04 },
452 { "BRDDAT2", 0x04, 0x04 },
453 { "BRDCS", 0x08, 0x08 },
454 { "BRDDAT3", 0x08, 0x08 },
455 { "BRDSTB", 0x10, 0x10 },
456 { "BRDDAT4", 0x10, 0x10 },
457 { "BRDDAT5", 0x20, 0x20 },
458 { "BRDDAT6", 0x40, 0x40 },
459 { "BRDDAT7", 0x80, 0x80 }
463 ahc_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
465 return (ahc_print_register(BRDCTL_parse_table, 13, "BRDCTL",
466 0x1d, regvalue, cur_col, wrap));
469 static ahc_reg_parse_entry_t SEECTL_parse_table[] = {
470 { "SEEDI", 0x01, 0x01 },
471 { "SEEDO", 0x02, 0x02 },
472 { "SEECK", 0x04, 0x04 },
473 { "SEECS", 0x08, 0x08 },
474 { "SEERDY", 0x10, 0x10 },
475 { "SEEMS", 0x20, 0x20 },
476 { "EXTARBREQ", 0x40, 0x40 },
477 { "EXTARBACK", 0x80, 0x80 }
481 ahc_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
483 return (ahc_print_register(SEECTL_parse_table, 8, "SEECTL",
484 0x1e, regvalue, cur_col, wrap));
487 static ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
488 { "XCVR", 0x01, 0x01 },
489 { "SELWIDE", 0x02, 0x02 },
490 { "ENAB20", 0x04, 0x04 },
491 { "SELBUSB", 0x08, 0x08 },
492 { "ENAB40", 0x08, 0x08 },
493 { "AUTOFLUSHDIS", 0x20, 0x20 },
494 { "DIAGLEDON", 0x40, 0x40 },
495 { "DIAGLEDEN", 0x80, 0x80 }
499 ahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
501 return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
502 0x1f, regvalue, cur_col, wrap));
506 ahc_busy_targets_print(u_int regvalue, u_int *cur_col, u_int wrap)
508 return (ahc_print_register(NULL, 0, "BUSY_TARGETS",
509 0x20, regvalue, cur_col, wrap));
513 ahc_ultra_enb_print(u_int regvalue, u_int *cur_col, u_int wrap)
515 return (ahc_print_register(NULL, 0, "ULTRA_ENB",
516 0x30, regvalue, cur_col, wrap));
520 ahc_disc_dsb_print(u_int regvalue, u_int *cur_col, u_int wrap)
522 return (ahc_print_register(NULL, 0, "DISC_DSB",
523 0x32, regvalue, cur_col, wrap));
527 ahc_cmdsize_table_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
529 return (ahc_print_register(NULL, 0, "CMDSIZE_TABLE_TAIL",
530 0x34, regvalue, cur_col, wrap));
534 ahc_mwi_residual_print(u_int regvalue, u_int *cur_col, u_int wrap)
536 return (ahc_print_register(NULL, 0, "MWI_RESIDUAL",
537 0x38, regvalue, cur_col, wrap));
541 ahc_next_queued_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
543 return (ahc_print_register(NULL, 0, "NEXT_QUEUED_SCB",
544 0x39, regvalue, cur_col, wrap));
548 ahc_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
550 return (ahc_print_register(NULL, 0, "MSG_OUT",
551 0x3a, regvalue, cur_col, wrap));
554 static ahc_reg_parse_entry_t DMAPARAMS_parse_table[] = {
555 { "FIFORESET", 0x01, 0x01 },
556 { "FIFOFLUSH", 0x02, 0x02 },
557 { "DIRECTION", 0x04, 0x04 },
558 { "HDMAEN", 0x08, 0x08 },
559 { "HDMAENACK", 0x08, 0x08 },
560 { "SDMAEN", 0x10, 0x10 },
561 { "SDMAENACK", 0x10, 0x10 },
562 { "SCSIEN", 0x20, 0x20 },
563 { "WIDEODD", 0x40, 0x40 },
564 { "PRELOADEN", 0x80, 0x80 }
568 ahc_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
570 return (ahc_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
571 0x3b, regvalue, cur_col, wrap));
574 static ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
575 { "NO_DISCONNECT", 0x01, 0x01 },
576 { "SPHASE_PENDING", 0x02, 0x02 },
577 { "DPHASE_PENDING", 0x04, 0x04 },
578 { "CMDPHASE_PENDING", 0x08, 0x08 },
579 { "TARG_CMD_PENDING", 0x10, 0x10 },
580 { "DPHASE", 0x20, 0x20 },
581 { "NO_CDB_SENT", 0x40, 0x40 },
582 { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
583 { "NOT_IDENTIFIED", 0x80, 0x80 }
587 ahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
589 return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
590 0x3c, regvalue, cur_col, wrap));
594 ahc_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
596 return (ahc_print_register(NULL, 0, "SAVED_SCSIID",
597 0x3d, regvalue, cur_col, wrap));
601 ahc_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
603 return (ahc_print_register(NULL, 0, "SAVED_LUN",
604 0x3e, regvalue, cur_col, wrap));
607 static ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
608 { "MSGI", 0x20, 0x20 },
609 { "IOI", 0x40, 0x40 },
610 { "CDI", 0x80, 0x80 },
611 { "P_DATAOUT", 0x00, 0x00 },
612 { "P_BUSFREE", 0x01, 0x01 },
613 { "P_DATAIN", 0x40, 0x40 },
614 { "P_COMMAND", 0x80, 0x80 },
615 { "P_MESGOUT", 0xa0, 0xa0 },
616 { "P_STATUS", 0xc0, 0xc0 },
617 { "PHASE_MASK", 0xe0, 0xe0 },
618 { "P_MESGIN", 0xe0, 0xe0 }
622 ahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
624 return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
625 0x3f, regvalue, cur_col, wrap));
629 ahc_waiting_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
631 return (ahc_print_register(NULL, 0, "WAITING_SCBH",
632 0x40, regvalue, cur_col, wrap));
636 ahc_disconnected_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
638 return (ahc_print_register(NULL, 0, "DISCONNECTED_SCBH",
639 0x41, regvalue, cur_col, wrap));
643 ahc_free_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
645 return (ahc_print_register(NULL, 0, "FREE_SCBH",
646 0x42, regvalue, cur_col, wrap));
650 ahc_complete_scbh_print(u_int regvalue, u_int *cur_col, u_int wrap)
652 return (ahc_print_register(NULL, 0, "COMPLETE_SCBH",
653 0x43, regvalue, cur_col, wrap));
657 ahc_hscb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
659 return (ahc_print_register(NULL, 0, "HSCB_ADDR",
660 0x44, regvalue, cur_col, wrap));
664 ahc_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
666 return (ahc_print_register(NULL, 0, "SHARED_DATA_ADDR",
667 0x48, regvalue, cur_col, wrap));
671 ahc_kernel_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
673 return (ahc_print_register(NULL, 0, "KERNEL_QINPOS",
674 0x4c, regvalue, cur_col, wrap));
678 ahc_qinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
680 return (ahc_print_register(NULL, 0, "QINPOS",
681 0x4d, regvalue, cur_col, wrap));
685 ahc_qoutpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
687 return (ahc_print_register(NULL, 0, "QOUTPOS",
688 0x4e, regvalue, cur_col, wrap));
692 ahc_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
694 return (ahc_print_register(NULL, 0, "KERNEL_TQINPOS",
695 0x4f, regvalue, cur_col, wrap));
699 ahc_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
701 return (ahc_print_register(NULL, 0, "TQINPOS",
702 0x50, regvalue, cur_col, wrap));
705 static ahc_reg_parse_entry_t ARG_1_parse_table[] = {
706 { "SPARE", 0x01, 0x01 },
707 { "CONT_TARG_SESSION", 0x02, 0x02 },
708 { "CONT_MSG_LOOP", 0x04, 0x04 },
709 { "EXIT_MSG_LOOP", 0x08, 0x08 },
710 { "MSGOUT_PHASEMIS", 0x10, 0x10 },
711 { "SEND_REJ", 0x20, 0x20 },
712 { "SEND_SENSE", 0x40, 0x40 },
713 { "SEND_MSG", 0x80, 0x80 }
717 ahc_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
719 return (ahc_print_register(ARG_1_parse_table, 8, "ARG_1",
720 0x51, regvalue, cur_col, wrap));
724 ahc_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
726 return (ahc_print_register(NULL, 0, "ARG_2",
727 0x52, regvalue, cur_col, wrap));
731 ahc_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
733 return (ahc_print_register(NULL, 0, "LAST_MSG",
734 0x53, regvalue, cur_col, wrap));
737 static ahc_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
738 { "ENAUTOATNP", 0x02, 0x02 },
739 { "ENAUTOATNI", 0x04, 0x04 },
740 { "ENAUTOATNO", 0x08, 0x08 },
741 { "ENRSELI", 0x10, 0x10 },
742 { "ENSELI", 0x20, 0x20 },
743 { "ENSELO", 0x40, 0x40 }
747 ahc_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
749 return (ahc_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
750 0x54, regvalue, cur_col, wrap));
753 static ahc_reg_parse_entry_t HA_274_BIOSGLOBAL_parse_table[] = {
754 { "HA_274_EXTENDED_TRANS",0x01, 0x01 }
758 ahc_ha_274_biosglobal_print(u_int regvalue, u_int *cur_col, u_int wrap)
760 return (ahc_print_register(HA_274_BIOSGLOBAL_parse_table, 1, "HA_274_BIOSGLOBAL",
761 0x56, regvalue, cur_col, wrap));
764 static ahc_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
765 { "SCB_DMA", 0x01, 0x01 },
766 { "TARGET_MSG_PENDING", 0x02, 0x02 }
770 ahc_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
772 return (ahc_print_register(SEQ_FLAGS2_parse_table, 2, "SEQ_FLAGS2",
773 0x57, regvalue, cur_col, wrap));
776 static ahc_reg_parse_entry_t SCSICONF_parse_table[] = {
777 { "ENSPCHK", 0x20, 0x20 },
778 { "RESET_SCSI", 0x40, 0x40 },
779 { "TERM_ENB", 0x80, 0x80 },
780 { "HSCSIID", 0x07, 0x07 },
781 { "HWSCSIID", 0x0f, 0x0f }
785 ahc_scsiconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
787 return (ahc_print_register(SCSICONF_parse_table, 5, "SCSICONF",
788 0x5a, regvalue, cur_col, wrap));
791 static ahc_reg_parse_entry_t INTDEF_parse_table[] = {
792 { "EDGE_TRIG", 0x80, 0x80 },
793 { "VECTOR", 0x0f, 0x0f }
797 ahc_intdef_print(u_int regvalue, u_int *cur_col, u_int wrap)
799 return (ahc_print_register(INTDEF_parse_table, 2, "INTDEF",
800 0x5c, regvalue, cur_col, wrap));
804 ahc_hostconf_print(u_int regvalue, u_int *cur_col, u_int wrap)
806 return (ahc_print_register(NULL, 0, "HOSTCONF",
807 0x5d, regvalue, cur_col, wrap));
810 static ahc_reg_parse_entry_t HA_274_BIOSCTRL_parse_table[] = {
811 { "CHANNEL_B_PRIMARY", 0x08, 0x08 },
812 { "BIOSMODE", 0x30, 0x30 },
813 { "BIOSDISABLED", 0x30, 0x30 }
817 ahc_ha_274_biosctrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
819 return (ahc_print_register(HA_274_BIOSCTRL_parse_table, 3, "HA_274_BIOSCTRL",
820 0x5f, regvalue, cur_col, wrap));
823 static ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
824 { "LOADRAM", 0x01, 0x01 },
825 { "SEQRESET", 0x02, 0x02 },
826 { "STEP", 0x04, 0x04 },
827 { "BRKADRINTEN", 0x08, 0x08 },
828 { "FASTMODE", 0x10, 0x10 },
829 { "FAILDIS", 0x20, 0x20 },
830 { "PAUSEDIS", 0x40, 0x40 },
831 { "PERRORDIS", 0x80, 0x80 }
835 ahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
837 return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
838 0x60, regvalue, cur_col, wrap));
842 ahc_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
844 return (ahc_print_register(NULL, 0, "SEQRAM",
845 0x61, regvalue, cur_col, wrap));
849 ahc_seqaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap)
851 return (ahc_print_register(NULL, 0, "SEQADDR0",
852 0x62, regvalue, cur_col, wrap));
855 static ahc_reg_parse_entry_t SEQADDR1_parse_table[] = {
856 { "SEQADDR1_MASK", 0x01, 0x01 }
860 ahc_seqaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap)
862 return (ahc_print_register(SEQADDR1_parse_table, 1, "SEQADDR1",
863 0x63, regvalue, cur_col, wrap));
867 ahc_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
869 return (ahc_print_register(NULL, 0, "ACCUM",
870 0x64, regvalue, cur_col, wrap));
874 ahc_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
876 return (ahc_print_register(NULL, 0, "SINDEX",
877 0x65, regvalue, cur_col, wrap));
881 ahc_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
883 return (ahc_print_register(NULL, 0, "DINDEX",
884 0x66, regvalue, cur_col, wrap));
888 ahc_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
890 return (ahc_print_register(NULL, 0, "ALLONES",
891 0x69, regvalue, cur_col, wrap));
895 ahc_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
897 return (ahc_print_register(NULL, 0, "NONE",
898 0x6a, regvalue, cur_col, wrap));
902 ahc_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
904 return (ahc_print_register(NULL, 0, "ALLZEROS",
905 0x6a, regvalue, cur_col, wrap));
908 static ahc_reg_parse_entry_t FLAGS_parse_table[] = {
909 { "CARRY", 0x01, 0x01 },
910 { "ZERO", 0x02, 0x02 }
914 ahc_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
916 return (ahc_print_register(FLAGS_parse_table, 2, "FLAGS",
917 0x6b, regvalue, cur_col, wrap));
921 ahc_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
923 return (ahc_print_register(NULL, 0, "SINDIR",
924 0x6c, regvalue, cur_col, wrap));
928 ahc_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
930 return (ahc_print_register(NULL, 0, "DINDIR",
931 0x6d, regvalue, cur_col, wrap));
935 ahc_function1_print(u_int regvalue, u_int *cur_col, u_int wrap)
937 return (ahc_print_register(NULL, 0, "FUNCTION1",
938 0x6e, regvalue, cur_col, wrap));
942 ahc_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
944 return (ahc_print_register(NULL, 0, "STACK",
945 0x6f, regvalue, cur_col, wrap));
949 ahc_targ_offset_print(u_int regvalue, u_int *cur_col, u_int wrap)
951 return (ahc_print_register(NULL, 0, "TARG_OFFSET",
952 0x70, regvalue, cur_col, wrap));
956 ahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
958 return (ahc_print_register(NULL, 0, "SRAM_BASE",
959 0x70, regvalue, cur_col, wrap));
962 static ahc_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
963 { "CIOPARCKEN", 0x01, 0x01 },
964 { "USCBSIZE32", 0x02, 0x02 },
965 { "RAMPS", 0x04, 0x04 },
966 { "INTSCBRAMSEL", 0x08, 0x08 },
967 { "EXTREQLCK", 0x10, 0x10 },
968 { "MPARCKEN", 0x20, 0x20 },
969 { "DPARCKEN", 0x40, 0x40 },
970 { "CACHETHEN", 0x80, 0x80 }
974 ahc_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
976 return (ahc_print_register(DSCOMMAND0_parse_table, 8, "DSCOMMAND0",
977 0x84, regvalue, cur_col, wrap));
980 static ahc_reg_parse_entry_t BCTL_parse_table[] = {
981 { "ENABLE", 0x01, 0x01 },
982 { "ACE", 0x08, 0x08 }
986 ahc_bctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
988 return (ahc_print_register(BCTL_parse_table, 2, "BCTL",
989 0x84, regvalue, cur_col, wrap));
992 static ahc_reg_parse_entry_t BUSTIME_parse_table[] = {
993 { "BON", 0x0f, 0x0f },
994 { "BOFF", 0xf0, 0xf0 }
998 ahc_bustime_print(u_int regvalue, u_int *cur_col, u_int wrap)
1000 return (ahc_print_register(BUSTIME_parse_table, 2, "BUSTIME",
1001 0x85, regvalue, cur_col, wrap));
1004 static ahc_reg_parse_entry_t DSCOMMAND1_parse_table[] = {
1005 { "HADDLDSEL0", 0x01, 0x01 },
1006 { "HADDLDSEL1", 0x02, 0x02 },
1007 { "DSLATT", 0xfc, 0xfc }
1011 ahc_dscommand1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1013 return (ahc_print_register(DSCOMMAND1_parse_table, 3, "DSCOMMAND1",
1014 0x85, regvalue, cur_col, wrap));
1017 static ahc_reg_parse_entry_t BUSSPD_parse_table[] = {
1018 { "STBON", 0x07, 0x07 },
1019 { "STBOFF", 0x38, 0x38 },
1020 { "DFTHRSH_75", 0x80, 0x80 },
1021 { "DFTHRSH", 0xc0, 0xc0 },
1022 { "DFTHRSH_100", 0xc0, 0xc0 }
1026 ahc_busspd_print(u_int regvalue, u_int *cur_col, u_int wrap)
1028 return (ahc_print_register(BUSSPD_parse_table, 5, "BUSSPD",
1029 0x86, regvalue, cur_col, wrap));
1032 static ahc_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
1033 { "SEQ_MAILBOX", 0x0f, 0x0f },
1034 { "HOST_TQINPOS", 0x80, 0x80 },
1035 { "HOST_MAILBOX", 0xf0, 0xf0 }
1039 ahc_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
1041 return (ahc_print_register(HS_MAILBOX_parse_table, 3, "HS_MAILBOX",
1042 0x86, regvalue, cur_col, wrap));
1045 static ahc_reg_parse_entry_t DSPCISTATUS_parse_table[] = {
1046 { "DFTHRSH_100", 0xc0, 0xc0 }
1050 ahc_dspcistatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1052 return (ahc_print_register(DSPCISTATUS_parse_table, 1, "DSPCISTATUS",
1053 0x86, regvalue, cur_col, wrap));
1056 static ahc_reg_parse_entry_t HCNTRL_parse_table[] = {
1057 { "CHIPRST", 0x01, 0x01 },
1058 { "CHIPRSTACK", 0x01, 0x01 },
1059 { "INTEN", 0x02, 0x02 },
1060 { "PAUSE", 0x04, 0x04 },
1061 { "IRQMS", 0x08, 0x08 },
1062 { "SWINT", 0x10, 0x10 },
1063 { "POWRDN", 0x40, 0x40 }
1067 ahc_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1069 return (ahc_print_register(HCNTRL_parse_table, 7, "HCNTRL",
1070 0x87, regvalue, cur_col, wrap));
1074 ahc_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1076 return (ahc_print_register(NULL, 0, "HADDR",
1077 0x88, regvalue, cur_col, wrap));
1081 ahc_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1083 return (ahc_print_register(NULL, 0, "HCNT",
1084 0x8c, regvalue, cur_col, wrap));
1088 ahc_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1090 return (ahc_print_register(NULL, 0, "SCBPTR",
1091 0x90, regvalue, cur_col, wrap));
1094 static ahc_reg_parse_entry_t INTSTAT_parse_table[] = {
1095 { "SEQINT", 0x01, 0x01 },
1096 { "CMDCMPLT", 0x02, 0x02 },
1097 { "SCSIINT", 0x04, 0x04 },
1098 { "BRKADRINT", 0x08, 0x08 },
1099 { "BAD_PHASE", 0x01, 0x01 },
1100 { "INT_PEND", 0x0f, 0x0f },
1101 { "SEND_REJECT", 0x11, 0x11 },
1102 { "PROTO_VIOLATION", 0x21, 0x21 },
1103 { "NO_MATCH", 0x31, 0x31 },
1104 { "IGN_WIDE_RES", 0x41, 0x41 },
1105 { "PDATA_REINIT", 0x51, 0x51 },
1106 { "HOST_MSG_LOOP", 0x61, 0x61 },
1107 { "BAD_STATUS", 0x71, 0x71 },
1108 { "PERR_DETECTED", 0x81, 0x81 },
1109 { "DATA_OVERRUN", 0x91, 0x91 },
1110 { "MKMSG_FAILED", 0xa1, 0xa1 },
1111 { "MISSED_BUSFREE", 0xb1, 0xb1 },
1112 { "SCB_MISMATCH", 0xc1, 0xc1 },
1113 { "NO_FREE_SCB", 0xd1, 0xd1 },
1114 { "OUT_OF_RANGE", 0xe1, 0xe1 },
1115 { "SEQINT_MASK", 0xf1, 0xf1 }
1119 ahc_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1121 return (ahc_print_register(INTSTAT_parse_table, 21, "INTSTAT",
1122 0x91, regvalue, cur_col, wrap));
1125 static ahc_reg_parse_entry_t ERROR_parse_table[] = {
1126 { "ILLHADDR", 0x01, 0x01 },
1127 { "ILLSADDR", 0x02, 0x02 },
1128 { "ILLOPCODE", 0x04, 0x04 },
1129 { "SQPARERR", 0x08, 0x08 },
1130 { "DPARERR", 0x10, 0x10 },
1131 { "MPARERR", 0x20, 0x20 },
1132 { "PCIERRSTAT", 0x40, 0x40 },
1133 { "CIOPARERR", 0x80, 0x80 }
1137 ahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
1139 return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
1140 0x92, regvalue, cur_col, wrap));
1143 static ahc_reg_parse_entry_t CLRINT_parse_table[] = {
1144 { "CLRSEQINT", 0x01, 0x01 },
1145 { "CLRCMDINT", 0x02, 0x02 },
1146 { "CLRSCSIINT", 0x04, 0x04 },
1147 { "CLRBRKADRINT", 0x08, 0x08 },
1148 { "CLRPARERR", 0x10, 0x10 }
1152 ahc_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
1154 return (ahc_print_register(CLRINT_parse_table, 5, "CLRINT",
1155 0x92, regvalue, cur_col, wrap));
1158 static ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
1159 { "FIFORESET", 0x01, 0x01 },
1160 { "FIFOFLUSH", 0x02, 0x02 },
1161 { "DIRECTION", 0x04, 0x04 },
1162 { "HDMAEN", 0x08, 0x08 },
1163 { "HDMAENACK", 0x08, 0x08 },
1164 { "SDMAEN", 0x10, 0x10 },
1165 { "SDMAENACK", 0x10, 0x10 },
1166 { "SCSIEN", 0x20, 0x20 },
1167 { "WIDEODD", 0x40, 0x40 },
1168 { "PRELOADEN", 0x80, 0x80 }
1172 ahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1174 return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
1175 0x93, regvalue, cur_col, wrap));
1178 static ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
1179 { "FIFOEMP", 0x01, 0x01 },
1180 { "FIFOFULL", 0x02, 0x02 },
1181 { "DFTHRESH", 0x04, 0x04 },
1182 { "HDONE", 0x08, 0x08 },
1183 { "MREQPEND", 0x10, 0x10 },
1184 { "FIFOQWDEMP", 0x20, 0x20 },
1185 { "DFCACHETH", 0x40, 0x40 },
1186 { "PRELOAD_AVAIL", 0x80, 0x80 }
1190 ahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
1192 return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
1193 0x94, regvalue, cur_col, wrap));
1197 ahc_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1199 return (ahc_print_register(NULL, 0, "DFWADDR",
1200 0x95, regvalue, cur_col, wrap));
1204 ahc_dfraddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1206 return (ahc_print_register(NULL, 0, "DFRADDR",
1207 0x97, regvalue, cur_col, wrap));
1211 ahc_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1213 return (ahc_print_register(NULL, 0, "DFDAT",
1214 0x99, regvalue, cur_col, wrap));
1217 static ahc_reg_parse_entry_t SCBCNT_parse_table[] = {
1218 { "SCBAUTO", 0x80, 0x80 },
1219 { "SCBCNT_MASK", 0x1f, 0x1f }
1223 ahc_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1225 return (ahc_print_register(SCBCNT_parse_table, 2, "SCBCNT",
1226 0x9a, regvalue, cur_col, wrap));
1230 ahc_qinfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1232 return (ahc_print_register(NULL, 0, "QINFIFO",
1233 0x9b, regvalue, cur_col, wrap));
1237 ahc_qincnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1239 return (ahc_print_register(NULL, 0, "QINCNT",
1240 0x9c, regvalue, cur_col, wrap));
1243 static ahc_reg_parse_entry_t CRCCONTROL1_parse_table[] = {
1244 { "TARGCRCCNTEN", 0x04, 0x04 },
1245 { "TARGCRCENDEN", 0x08, 0x08 },
1246 { "CRCREQCHKEN", 0x10, 0x10 },
1247 { "CRCENDCHKEN", 0x20, 0x20 },
1248 { "CRCVALCHKEN", 0x40, 0x40 },
1249 { "CRCONSEEN", 0x80, 0x80 }
1253 ahc_crccontrol1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1255 return (ahc_print_register(CRCCONTROL1_parse_table, 6, "CRCCONTROL1",
1256 0x9d, regvalue, cur_col, wrap));
1260 ahc_qoutfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1262 return (ahc_print_register(NULL, 0, "QOUTFIFO",
1263 0x9d, regvalue, cur_col, wrap));
1267 ahc_qoutcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1269 return (ahc_print_register(NULL, 0, "QOUTCNT",
1270 0x9e, regvalue, cur_col, wrap));
1273 static ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
1274 { "DATA_OUT_PHASE", 0x01, 0x01 },
1275 { "DATA_IN_PHASE", 0x02, 0x02 },
1276 { "MSG_OUT_PHASE", 0x04, 0x04 },
1277 { "MSG_IN_PHASE", 0x08, 0x08 },
1278 { "COMMAND_PHASE", 0x10, 0x10 },
1279 { "STATUS_PHASE", 0x20, 0x20 },
1280 { "DATA_PHASE_MASK", 0x03, 0x03 }
1284 ahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
1286 return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
1287 0x9e, regvalue, cur_col, wrap));
1290 static ahc_reg_parse_entry_t SFUNCT_parse_table[] = {
1291 { "ALT_MODE", 0x80, 0x80 }
1295 ahc_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap)
1297 return (ahc_print_register(SFUNCT_parse_table, 1, "SFUNCT",
1298 0x9f, regvalue, cur_col, wrap));
1302 ahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
1304 return (ahc_print_register(NULL, 0, "SCB_BASE",
1305 0xa0, regvalue, cur_col, wrap));
1309 ahc_scb_cdb_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1311 return (ahc_print_register(NULL, 0, "SCB_CDB_PTR",
1312 0xa0, regvalue, cur_col, wrap));
1316 ahc_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1318 return (ahc_print_register(NULL, 0, "SCB_RESIDUAL_SGPTR",
1319 0xa4, regvalue, cur_col, wrap));
1323 ahc_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
1325 return (ahc_print_register(NULL, 0, "SCB_SCSI_STATUS",
1326 0xa8, regvalue, cur_col, wrap));
1330 ahc_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap)
1332 return (ahc_print_register(NULL, 0, "SCB_TARGET_PHASES",
1333 0xa9, regvalue, cur_col, wrap));
1337 ahc_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1339 return (ahc_print_register(NULL, 0, "SCB_TARGET_DATA_DIR",
1340 0xaa, regvalue, cur_col, wrap));
1344 ahc_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1346 return (ahc_print_register(NULL, 0, "SCB_TARGET_ITAG",
1347 0xab, regvalue, cur_col, wrap));
1351 ahc_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1353 return (ahc_print_register(NULL, 0, "SCB_DATAPTR",
1354 0xac, regvalue, cur_col, wrap));
1357 static ahc_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
1358 { "SG_LAST_SEG", 0x80, 0x80 },
1359 { "SG_HIGH_ADDR_BITS", 0x7f, 0x7f }
1363 ahc_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1365 return (ahc_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
1366 0xb0, regvalue, cur_col, wrap));
1369 static ahc_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
1370 { "SG_LIST_NULL", 0x01, 0x01 },
1371 { "SG_FULL_RESID", 0x02, 0x02 },
1372 { "SG_RESID_VALID", 0x04, 0x04 }
1376 ahc_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1378 return (ahc_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
1379 0xb4, regvalue, cur_col, wrap));
1382 static ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
1383 { "DISCONNECTED", 0x04, 0x04 },
1384 { "ULTRAENB", 0x08, 0x08 },
1385 { "MK_MESSAGE", 0x10, 0x10 },
1386 { "TAG_ENB", 0x20, 0x20 },
1387 { "DISCENB", 0x40, 0x40 },
1388 { "TARGET_SCB", 0x80, 0x80 },
1389 { "STATUS_RCVD", 0x80, 0x80 },
1390 { "SCB_TAG_TYPE", 0x03, 0x03 }
1394 ahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
1396 return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
1397 0xb8, regvalue, cur_col, wrap));
1400 static ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
1401 { "TWIN_CHNLB", 0x80, 0x80 },
1402 { "OID", 0x0f, 0x0f },
1403 { "TWIN_TID", 0x70, 0x70 },
1404 { "TID", 0xf0, 0xf0 }
1408 ahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1410 return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
1411 0xb9, regvalue, cur_col, wrap));
1414 static ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
1415 { "SCB_XFERLEN_ODD", 0x80, 0x80 },
1416 { "LID", 0x3f, 0x3f }
1420 ahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
1422 return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
1423 0xba, regvalue, cur_col, wrap));
1427 ahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
1429 return (ahc_print_register(NULL, 0, "SCB_TAG",
1430 0xbb, regvalue, cur_col, wrap));
1434 ahc_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
1436 return (ahc_print_register(NULL, 0, "SCB_CDB_LEN",
1437 0xbc, regvalue, cur_col, wrap));
1441 ahc_scb_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
1443 return (ahc_print_register(NULL, 0, "SCB_SCSIRATE",
1444 0xbd, regvalue, cur_col, wrap));
1448 ahc_scb_scsioffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
1450 return (ahc_print_register(NULL, 0, "SCB_SCSIOFFSET",
1451 0xbe, regvalue, cur_col, wrap));
1455 ahc_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
1457 return (ahc_print_register(NULL, 0, "SCB_NEXT",
1458 0xbf, regvalue, cur_col, wrap));
1462 ahc_scb_64_spare_print(u_int regvalue, u_int *cur_col, u_int wrap)
1464 return (ahc_print_register(NULL, 0, "SCB_64_SPARE",
1465 0xc0, regvalue, cur_col, wrap));
1468 static ahc_reg_parse_entry_t SEECTL_2840_parse_table[] = {
1469 { "DO_2840", 0x01, 0x01 },
1470 { "CK_2840", 0x02, 0x02 },
1471 { "CS_2840", 0x04, 0x04 }
1475 ahc_seectl_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1477 return (ahc_print_register(SEECTL_2840_parse_table, 3, "SEECTL_2840",
1478 0xc0, regvalue, cur_col, wrap));
1481 static ahc_reg_parse_entry_t STATUS_2840_parse_table[] = {
1482 { "DI_2840", 0x01, 0x01 },
1483 { "EEPROM_TF", 0x80, 0x80 },
1484 { "ADSEL", 0x1e, 0x1e },
1485 { "BIOS_SEL", 0x60, 0x60 }
1489 ahc_status_2840_print(u_int regvalue, u_int *cur_col, u_int wrap)
1491 return (ahc_print_register(STATUS_2840_parse_table, 4, "STATUS_2840",
1492 0xc1, regvalue, cur_col, wrap));
1496 ahc_scb_64_btt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1498 return (ahc_print_register(NULL, 0, "SCB_64_BTT",
1499 0xd0, regvalue, cur_col, wrap));
1503 ahc_cchaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1505 return (ahc_print_register(NULL, 0, "CCHADDR",
1506 0xe0, regvalue, cur_col, wrap));
1510 ahc_cchcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1512 return (ahc_print_register(NULL, 0, "CCHCNT",
1513 0xe8, regvalue, cur_col, wrap));
1517 ahc_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1519 return (ahc_print_register(NULL, 0, "CCSGRAM",
1520 0xe9, regvalue, cur_col, wrap));
1524 ahc_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1526 return (ahc_print_register(NULL, 0, "CCSGADDR",
1527 0xea, regvalue, cur_col, wrap));
1530 static ahc_reg_parse_entry_t CCSGCTL_parse_table[] = {
1531 { "CCSGRESET", 0x01, 0x01 },
1532 { "SG_FETCH_NEEDED", 0x02, 0x02 },
1533 { "CCSGEN", 0x08, 0x08 },
1534 { "CCSGDONE", 0x80, 0x80 }
1538 ahc_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1540 return (ahc_print_register(CCSGCTL_parse_table, 4, "CCSGCTL",
1541 0xeb, regvalue, cur_col, wrap));
1545 ahc_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1547 return (ahc_print_register(NULL, 0, "CCSCBRAM",
1548 0xec, regvalue, cur_col, wrap));
1552 ahc_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1554 return (ahc_print_register(NULL, 0, "CCSCBADDR",
1555 0xed, regvalue, cur_col, wrap));
1558 static ahc_reg_parse_entry_t CCSCBCTL_parse_table[] = {
1559 { "CCSCBRESET", 0x01, 0x01 },
1560 { "CCSCBDIR", 0x04, 0x04 },
1561 { "CCSCBEN", 0x08, 0x08 },
1562 { "CCARREN", 0x10, 0x10 },
1563 { "ARRDONE", 0x40, 0x40 },
1564 { "CCSCBDONE", 0x80, 0x80 }
1568 ahc_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1570 return (ahc_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
1571 0xee, regvalue, cur_col, wrap));
1575 ahc_ccscbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1577 return (ahc_print_register(NULL, 0, "CCSCBCNT",
1578 0xef, regvalue, cur_col, wrap));
1582 ahc_scbbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1584 return (ahc_print_register(NULL, 0, "SCBBADDR",
1585 0xf0, regvalue, cur_col, wrap));
1589 ahc_ccscbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1591 return (ahc_print_register(NULL, 0, "CCSCBPTR",
1592 0xf1, regvalue, cur_col, wrap));
1596 ahc_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1598 return (ahc_print_register(NULL, 0, "HNSCB_QOFF",
1599 0xf4, regvalue, cur_col, wrap));
1603 ahc_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1605 return (ahc_print_register(NULL, 0, "SNSCB_QOFF",
1606 0xf6, regvalue, cur_col, wrap));
1610 ahc_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
1612 return (ahc_print_register(NULL, 0, "SDSCB_QOFF",
1613 0xf8, regvalue, cur_col, wrap));
1616 static ahc_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
1617 { "SDSCB_ROLLOVER", 0x10, 0x10 },
1618 { "SNSCB_ROLLOVER", 0x20, 0x20 },
1619 { "SCB_AVAIL", 0x40, 0x40 },
1620 { "SCB_QSIZE_256", 0x06, 0x06 },
1621 { "SCB_QSIZE", 0x07, 0x07 }
1625 ahc_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
1627 return (ahc_print_register(QOFF_CTLSTA_parse_table, 5, "QOFF_CTLSTA",
1628 0xfa, regvalue, cur_col, wrap));
1631 static ahc_reg_parse_entry_t DFF_THRSH_parse_table[] = {
1632 { "RD_DFTHRSH_MIN", 0x00, 0x00 },
1633 { "WR_DFTHRSH_MIN", 0x00, 0x00 },
1634 { "RD_DFTHRSH_25", 0x01, 0x01 },
1635 { "RD_DFTHRSH_50", 0x02, 0x02 },
1636 { "RD_DFTHRSH_63", 0x03, 0x03 },
1637 { "RD_DFTHRSH_75", 0x04, 0x04 },
1638 { "RD_DFTHRSH_85", 0x05, 0x05 },
1639 { "RD_DFTHRSH_90", 0x06, 0x06 },
1640 { "RD_DFTHRSH", 0x07, 0x07 },
1641 { "RD_DFTHRSH_MAX", 0x07, 0x07 },
1642 { "WR_DFTHRSH_25", 0x10, 0x10 },
1643 { "WR_DFTHRSH_50", 0x20, 0x20 },
1644 { "WR_DFTHRSH_63", 0x30, 0x30 },
1645 { "WR_DFTHRSH_75", 0x40, 0x40 },
1646 { "WR_DFTHRSH_85", 0x50, 0x50 },
1647 { "WR_DFTHRSH_90", 0x60, 0x60 },
1648 { "WR_DFTHRSH", 0x70, 0x70 },
1649 { "WR_DFTHRSH_MAX", 0x70, 0x70 }
1653 ahc_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
1655 return (ahc_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
1656 0xfb, regvalue, cur_col, wrap));
1659 static ahc_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
1660 { "LAST_SEG_DONE", 0x01, 0x01 },
1661 { "LAST_SEG", 0x02, 0x02 },
1662 { "SG_ADDR_MASK", 0xf8, 0xf8 }
1666 ahc_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
1668 return (ahc_print_register(SG_CACHE_SHADOW_parse_table, 3, "SG_CACHE_SHADOW",
1669 0xfc, regvalue, cur_col, wrap));
1672 static ahc_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
1673 { "LAST_SEG_DONE", 0x01, 0x01 },
1674 { "LAST_SEG", 0x02, 0x02 },
1675 { "SG_ADDR_MASK", 0xf8, 0xf8 }
1679 ahc_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
1681 return (ahc_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
1682 0xfc, regvalue, cur_col, wrap));