2 * DO NOT EDIT - This file is automatically generated
3 * from the following source files:
5 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
6 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
9 #include "aic79xx_osm.h"
11 static const ahd_reg_parse_entry_t MODE_PTR_parse_table[] = {
12 { "SRC_MODE", 0x07, 0x07 },
13 { "DST_MODE", 0x70, 0x70 }
17 ahd_mode_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
19 return (ahd_print_register(MODE_PTR_parse_table, 2, "MODE_PTR",
20 0x00, regvalue, cur_col, wrap));
23 static const ahd_reg_parse_entry_t INTSTAT_parse_table[] = {
24 { "SPLTINT", 0x01, 0x01 },
25 { "CMDCMPLT", 0x02, 0x02 },
26 { "SEQINT", 0x04, 0x04 },
27 { "SCSIINT", 0x08, 0x08 },
28 { "PCIINT", 0x10, 0x10 },
29 { "SWTMINT", 0x20, 0x20 },
30 { "BRKADRINT", 0x40, 0x40 },
31 { "HWERRINT", 0x80, 0x80 },
32 { "INT_PEND", 0xff, 0xff }
36 ahd_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
38 return (ahd_print_register(INTSTAT_parse_table, 9, "INTSTAT",
39 0x01, regvalue, cur_col, wrap));
42 static const ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = {
43 { "NO_SEQINT", 0x00, 0xff },
44 { "BAD_PHASE", 0x01, 0xff },
45 { "SEND_REJECT", 0x02, 0xff },
46 { "PROTO_VIOLATION", 0x03, 0xff },
47 { "NO_MATCH", 0x04, 0xff },
48 { "IGN_WIDE_RES", 0x05, 0xff },
49 { "PDATA_REINIT", 0x06, 0xff },
50 { "HOST_MSG_LOOP", 0x07, 0xff },
51 { "BAD_STATUS", 0x08, 0xff },
52 { "DATA_OVERRUN", 0x09, 0xff },
53 { "MKMSG_FAILED", 0x0a, 0xff },
54 { "MISSED_BUSFREE", 0x0b, 0xff },
55 { "DUMP_CARD_STATE", 0x0c, 0xff },
56 { "ILLEGAL_PHASE", 0x0d, 0xff },
57 { "INVALID_SEQINT", 0x0e, 0xff },
58 { "CFG4ISTAT_INTR", 0x0f, 0xff },
59 { "STATUS_OVERRUN", 0x10, 0xff },
60 { "CFG4OVERRUN", 0x11, 0xff },
61 { "ENTERING_NONPACK", 0x12, 0xff },
62 { "TASKMGMT_FUNC_COMPLETE",0x13, 0xff },
63 { "TASKMGMT_CMD_CMPLT_OKAY",0x14, 0xff },
64 { "TRACEPOINT0", 0x15, 0xff },
65 { "TRACEPOINT1", 0x16, 0xff },
66 { "TRACEPOINT2", 0x17, 0xff },
67 { "TRACEPOINT3", 0x18, 0xff },
68 { "SAW_HWERR", 0x19, 0xff },
69 { "BAD_SCB_STATUS", 0x1a, 0xff }
73 ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap)
75 return (ahd_print_register(SEQINTCODE_parse_table, 27, "SEQINTCODE",
76 0x02, regvalue, cur_col, wrap));
79 static const ahd_reg_parse_entry_t CLRINT_parse_table[] = {
80 { "CLRSPLTINT", 0x01, 0x01 },
81 { "CLRCMDINT", 0x02, 0x02 },
82 { "CLRSEQINT", 0x04, 0x04 },
83 { "CLRSCSIINT", 0x08, 0x08 },
84 { "CLRPCIINT", 0x10, 0x10 },
85 { "CLRSWTMINT", 0x20, 0x20 },
86 { "CLRBRKADRINT", 0x40, 0x40 },
87 { "CLRHWERRINT", 0x80, 0x80 }
91 ahd_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
93 return (ahd_print_register(CLRINT_parse_table, 8, "CLRINT",
94 0x03, regvalue, cur_col, wrap));
97 static const ahd_reg_parse_entry_t ERROR_parse_table[] = {
98 { "DSCTMOUT", 0x02, 0x02 },
99 { "ILLOPCODE", 0x04, 0x04 },
100 { "SQPARERR", 0x08, 0x08 },
101 { "DPARERR", 0x10, 0x10 },
102 { "MPARERR", 0x20, 0x20 },
103 { "CIOACCESFAIL", 0x40, 0x40 },
104 { "CIOPARERR", 0x80, 0x80 }
108 ahd_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
110 return (ahd_print_register(ERROR_parse_table, 7, "ERROR",
111 0x04, regvalue, cur_col, wrap));
114 static const ahd_reg_parse_entry_t HCNTRL_parse_table[] = {
115 { "CHIPRST", 0x01, 0x01 },
116 { "CHIPRSTACK", 0x01, 0x01 },
117 { "INTEN", 0x02, 0x02 },
118 { "PAUSE", 0x04, 0x04 },
119 { "SWTIMER_START_B", 0x08, 0x08 },
120 { "SWINT", 0x10, 0x10 },
121 { "POWRDN", 0x40, 0x40 },
122 { "SEQ_RESET", 0x80, 0x80 }
126 ahd_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
128 return (ahd_print_register(HCNTRL_parse_table, 8, "HCNTRL",
129 0x05, regvalue, cur_col, wrap));
133 ahd_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
135 return (ahd_print_register(NULL, 0, "HNSCB_QOFF",
136 0x06, regvalue, cur_col, wrap));
140 ahd_hescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
142 return (ahd_print_register(NULL, 0, "HESCB_QOFF",
143 0x08, regvalue, cur_col, wrap));
146 static const ahd_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
147 { "ENINT_COALESCE", 0x40, 0x40 },
148 { "HOST_TQINPOS", 0x80, 0x80 }
152 ahd_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
154 return (ahd_print_register(HS_MAILBOX_parse_table, 2, "HS_MAILBOX",
155 0x0b, regvalue, cur_col, wrap));
158 static const ahd_reg_parse_entry_t SEQINTSTAT_parse_table[] = {
159 { "SEQ_SPLTINT", 0x01, 0x01 },
160 { "SEQ_PCIINT", 0x02, 0x02 },
161 { "SEQ_SCSIINT", 0x04, 0x04 },
162 { "SEQ_SEQINT", 0x08, 0x08 },
163 { "SEQ_SWTMRTO", 0x10, 0x10 }
167 ahd_seqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
169 return (ahd_print_register(SEQINTSTAT_parse_table, 5, "SEQINTSTAT",
170 0x0c, regvalue, cur_col, wrap));
173 static const ahd_reg_parse_entry_t CLRSEQINTSTAT_parse_table[] = {
174 { "CLRSEQ_SPLTINT", 0x01, 0x01 },
175 { "CLRSEQ_PCIINT", 0x02, 0x02 },
176 { "CLRSEQ_SCSIINT", 0x04, 0x04 },
177 { "CLRSEQ_SEQINT", 0x08, 0x08 },
178 { "CLRSEQ_SWTMRTO", 0x10, 0x10 }
182 ahd_clrseqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
184 return (ahd_print_register(CLRSEQINTSTAT_parse_table, 5, "CLRSEQINTSTAT",
185 0x0c, regvalue, cur_col, wrap));
189 ahd_swtimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
191 return (ahd_print_register(NULL, 0, "SWTIMER",
192 0x0e, regvalue, cur_col, wrap));
196 ahd_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
198 return (ahd_print_register(NULL, 0, "SNSCB_QOFF",
199 0x10, regvalue, cur_col, wrap));
203 ahd_sescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
205 return (ahd_print_register(NULL, 0, "SESCB_QOFF",
206 0x12, regvalue, cur_col, wrap));
210 ahd_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
212 return (ahd_print_register(NULL, 0, "SDSCB_QOFF",
213 0x14, regvalue, cur_col, wrap));
216 static const ahd_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
217 { "SCB_QSIZE_4", 0x00, 0x0f },
218 { "SCB_QSIZE_8", 0x01, 0x0f },
219 { "SCB_QSIZE_16", 0x02, 0x0f },
220 { "SCB_QSIZE_32", 0x03, 0x0f },
221 { "SCB_QSIZE_64", 0x04, 0x0f },
222 { "SCB_QSIZE_128", 0x05, 0x0f },
223 { "SCB_QSIZE_256", 0x06, 0x0f },
224 { "SCB_QSIZE_512", 0x07, 0x0f },
225 { "SCB_QSIZE_1024", 0x08, 0x0f },
226 { "SCB_QSIZE_2048", 0x09, 0x0f },
227 { "SCB_QSIZE_4096", 0x0a, 0x0f },
228 { "SCB_QSIZE_8192", 0x0b, 0x0f },
229 { "SCB_QSIZE_16384", 0x0c, 0x0f },
230 { "SCB_QSIZE", 0x0f, 0x0f },
231 { "HS_MAILBOX_ACT", 0x10, 0x10 },
232 { "SDSCB_ROLLOVR", 0x20, 0x20 },
233 { "NEW_SCB_AVAIL", 0x40, 0x40 },
234 { "EMPTY_SCB_AVAIL", 0x80, 0x80 }
238 ahd_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
240 return (ahd_print_register(QOFF_CTLSTA_parse_table, 18, "QOFF_CTLSTA",
241 0x16, regvalue, cur_col, wrap));
244 static const ahd_reg_parse_entry_t INTCTL_parse_table[] = {
245 { "SPLTINTEN", 0x01, 0x01 },
246 { "SEQINTEN", 0x02, 0x02 },
247 { "SCSIINTEN", 0x04, 0x04 },
248 { "PCIINTEN", 0x08, 0x08 },
249 { "AUTOCLRCMDINT", 0x10, 0x10 },
250 { "SWTIMER_START", 0x20, 0x20 },
251 { "SWTMINTEN", 0x40, 0x40 },
252 { "SWTMINTMASK", 0x80, 0x80 }
256 ahd_intctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
258 return (ahd_print_register(INTCTL_parse_table, 8, "INTCTL",
259 0x18, regvalue, cur_col, wrap));
262 static const ahd_reg_parse_entry_t DFCNTRL_parse_table[] = {
263 { "DIRECTIONEN", 0x01, 0x01 },
264 { "FIFOFLUSH", 0x02, 0x02 },
265 { "FIFOFLUSHACK", 0x02, 0x02 },
266 { "DIRECTION", 0x04, 0x04 },
267 { "DIRECTIONACK", 0x04, 0x04 },
268 { "HDMAEN", 0x08, 0x08 },
269 { "HDMAENACK", 0x08, 0x08 },
270 { "SCSIEN", 0x20, 0x20 },
271 { "SCSIENACK", 0x20, 0x20 },
272 { "SCSIENWRDIS", 0x40, 0x40 },
273 { "PRELOADEN", 0x80, 0x80 }
277 ahd_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
279 return (ahd_print_register(DFCNTRL_parse_table, 11, "DFCNTRL",
280 0x19, regvalue, cur_col, wrap));
283 static const ahd_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
284 { "CIOPARCKEN", 0x01, 0x01 },
285 { "DISABLE_TWATE", 0x02, 0x02 },
286 { "EXTREQLCK", 0x10, 0x10 },
287 { "MPARCKEN", 0x20, 0x20 },
288 { "DPARCKEN", 0x40, 0x40 },
289 { "CACHETHEN", 0x80, 0x80 }
293 ahd_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
295 return (ahd_print_register(DSCOMMAND0_parse_table, 6, "DSCOMMAND0",
296 0x19, regvalue, cur_col, wrap));
299 static const ahd_reg_parse_entry_t DFSTATUS_parse_table[] = {
300 { "FIFOEMP", 0x01, 0x01 },
301 { "FIFOFULL", 0x02, 0x02 },
302 { "DFTHRESH", 0x04, 0x04 },
303 { "HDONE", 0x08, 0x08 },
304 { "MREQPEND", 0x10, 0x10 },
305 { "PKT_PRELOAD_AVAIL", 0x40, 0x40 },
306 { "PRELOAD_AVAIL", 0x80, 0x80 }
310 ahd_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
312 return (ahd_print_register(DFSTATUS_parse_table, 7, "DFSTATUS",
313 0x1a, regvalue, cur_col, wrap));
316 static const ahd_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
317 { "LAST_SEG_DONE", 0x01, 0x01 },
318 { "LAST_SEG", 0x02, 0x02 },
319 { "ODD_SEG", 0x04, 0x04 },
320 { "SG_ADDR_MASK", 0xf8, 0xf8 }
324 ahd_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
326 return (ahd_print_register(SG_CACHE_SHADOW_parse_table, 4, "SG_CACHE_SHADOW",
327 0x1b, regvalue, cur_col, wrap));
330 static const ahd_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
331 { "LAST_SEG", 0x02, 0x02 },
332 { "ODD_SEG", 0x04, 0x04 },
333 { "SG_ADDR_MASK", 0xf8, 0xf8 }
337 ahd_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
339 return (ahd_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
340 0x1b, regvalue, cur_col, wrap));
344 ahd_lqin_print(u_int regvalue, u_int *cur_col, u_int wrap)
346 return (ahd_print_register(NULL, 0, "LQIN",
347 0x20, regvalue, cur_col, wrap));
351 ahd_lunptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
353 return (ahd_print_register(NULL, 0, "LUNPTR",
354 0x22, regvalue, cur_col, wrap));
358 ahd_cmdlenptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
360 return (ahd_print_register(NULL, 0, "CMDLENPTR",
361 0x25, regvalue, cur_col, wrap));
365 ahd_attrptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
367 return (ahd_print_register(NULL, 0, "ATTRPTR",
368 0x26, regvalue, cur_col, wrap));
372 ahd_flagptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
374 return (ahd_print_register(NULL, 0, "FLAGPTR",
375 0x27, regvalue, cur_col, wrap));
379 ahd_cmdptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
381 return (ahd_print_register(NULL, 0, "CMDPTR",
382 0x28, regvalue, cur_col, wrap));
386 ahd_qnextptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
388 return (ahd_print_register(NULL, 0, "QNEXTPTR",
389 0x29, regvalue, cur_col, wrap));
393 ahd_abrtbyteptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
395 return (ahd_print_register(NULL, 0, "ABRTBYTEPTR",
396 0x2b, regvalue, cur_col, wrap));
400 ahd_abrtbitptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
402 return (ahd_print_register(NULL, 0, "ABRTBITPTR",
403 0x2c, regvalue, cur_col, wrap));
406 static const ahd_reg_parse_entry_t LUNLEN_parse_table[] = {
407 { "ILUNLEN", 0x0f, 0x0f },
408 { "TLUNLEN", 0xf0, 0xf0 }
412 ahd_lunlen_print(u_int regvalue, u_int *cur_col, u_int wrap)
414 return (ahd_print_register(LUNLEN_parse_table, 2, "LUNLEN",
415 0x30, regvalue, cur_col, wrap));
419 ahd_cdblimit_print(u_int regvalue, u_int *cur_col, u_int wrap)
421 return (ahd_print_register(NULL, 0, "CDBLIMIT",
422 0x31, regvalue, cur_col, wrap));
426 ahd_maxcmd_print(u_int regvalue, u_int *cur_col, u_int wrap)
428 return (ahd_print_register(NULL, 0, "MAXCMD",
429 0x32, regvalue, cur_col, wrap));
433 ahd_maxcmdcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
435 return (ahd_print_register(NULL, 0, "MAXCMDCNT",
436 0x33, regvalue, cur_col, wrap));
439 static const ahd_reg_parse_entry_t LQCTL1_parse_table[] = {
440 { "ABORTPENDING", 0x01, 0x01 },
441 { "SINGLECMD", 0x02, 0x02 },
442 { "PCI2PCI", 0x04, 0x04 }
446 ahd_lqctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
448 return (ahd_print_register(LQCTL1_parse_table, 3, "LQCTL1",
449 0x38, regvalue, cur_col, wrap));
452 static const ahd_reg_parse_entry_t LQCTL2_parse_table[] = {
453 { "LQOPAUSE", 0x01, 0x01 },
454 { "LQOTOIDLE", 0x02, 0x02 },
455 { "LQOCONTINUE", 0x04, 0x04 },
456 { "LQORETRY", 0x08, 0x08 },
457 { "LQIPAUSE", 0x10, 0x10 },
458 { "LQITOIDLE", 0x20, 0x20 },
459 { "LQICONTINUE", 0x40, 0x40 },
460 { "LQIRETRY", 0x80, 0x80 }
464 ahd_lqctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
466 return (ahd_print_register(LQCTL2_parse_table, 8, "LQCTL2",
467 0x39, regvalue, cur_col, wrap));
470 static const ahd_reg_parse_entry_t SCSISEQ0_parse_table[] = {
471 { "SCSIRSTO", 0x01, 0x01 },
472 { "FORCEBUSFREE", 0x10, 0x10 },
473 { "ENARBO", 0x20, 0x20 },
474 { "ENSELO", 0x40, 0x40 },
475 { "TEMODEO", 0x80, 0x80 }
479 ahd_scsiseq0_print(u_int regvalue, u_int *cur_col, u_int wrap)
481 return (ahd_print_register(SCSISEQ0_parse_table, 5, "SCSISEQ0",
482 0x3a, regvalue, cur_col, wrap));
485 static const ahd_reg_parse_entry_t SCSISEQ1_parse_table[] = {
486 { "ALTSTIM", 0x01, 0x01 },
487 { "ENAUTOATNP", 0x02, 0x02 },
488 { "MANUALP", 0x0c, 0x0c },
489 { "ENRSELI", 0x10, 0x10 },
490 { "ENSELI", 0x20, 0x20 },
491 { "MANUALCTL", 0x40, 0x40 }
495 ahd_scsiseq1_print(u_int regvalue, u_int *cur_col, u_int wrap)
497 return (ahd_print_register(SCSISEQ1_parse_table, 6, "SCSISEQ1",
498 0x3b, regvalue, cur_col, wrap));
501 static const ahd_reg_parse_entry_t SXFRCTL0_parse_table[] = {
502 { "SPIOEN", 0x08, 0x08 },
503 { "BIOSCANCELEN", 0x10, 0x10 },
504 { "DFPEXP", 0x40, 0x40 },
505 { "DFON", 0x80, 0x80 }
509 ahd_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
511 return (ahd_print_register(SXFRCTL0_parse_table, 4, "SXFRCTL0",
512 0x3c, regvalue, cur_col, wrap));
515 static const ahd_reg_parse_entry_t SXFRCTL1_parse_table[] = {
516 { "STPWEN", 0x01, 0x01 },
517 { "ACTNEGEN", 0x02, 0x02 },
518 { "ENSTIMER", 0x04, 0x04 },
519 { "STIMESEL", 0x18, 0x18 },
520 { "ENSPCHK", 0x20, 0x20 },
521 { "ENSACHK", 0x40, 0x40 },
522 { "BITBUCKET", 0x80, 0x80 }
526 ahd_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
528 return (ahd_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
529 0x3d, regvalue, cur_col, wrap));
532 static const ahd_reg_parse_entry_t DFFSTAT_parse_table[] = {
533 { "CURRFIFO_0", 0x00, 0x03 },
534 { "CURRFIFO_1", 0x01, 0x03 },
535 { "CURRFIFO_NONE", 0x03, 0x03 },
536 { "FIFO0FREE", 0x10, 0x10 },
537 { "FIFO1FREE", 0x20, 0x20 },
538 { "CURRFIFO", 0x03, 0x03 }
542 ahd_dffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
544 return (ahd_print_register(DFFSTAT_parse_table, 6, "DFFSTAT",
545 0x3f, regvalue, cur_col, wrap));
549 ahd_multargid_print(u_int regvalue, u_int *cur_col, u_int wrap)
551 return (ahd_print_register(NULL, 0, "MULTARGID",
552 0x40, regvalue, cur_col, wrap));
555 static const ahd_reg_parse_entry_t SCSISIGO_parse_table[] = {
556 { "P_DATAOUT", 0x00, 0xe0 },
557 { "P_DATAOUT_DT", 0x20, 0xe0 },
558 { "P_DATAIN", 0x40, 0xe0 },
559 { "P_DATAIN_DT", 0x60, 0xe0 },
560 { "P_COMMAND", 0x80, 0xe0 },
561 { "P_MESGOUT", 0xa0, 0xe0 },
562 { "P_STATUS", 0xc0, 0xe0 },
563 { "P_MESGIN", 0xe0, 0xe0 },
564 { "ACKO", 0x01, 0x01 },
565 { "REQO", 0x02, 0x02 },
566 { "BSYO", 0x04, 0x04 },
567 { "SELO", 0x08, 0x08 },
568 { "ATNO", 0x10, 0x10 },
569 { "MSGO", 0x20, 0x20 },
570 { "IOO", 0x40, 0x40 },
571 { "CDO", 0x80, 0x80 },
572 { "PHASE_MASK", 0xe0, 0xe0 }
576 ahd_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
578 return (ahd_print_register(SCSISIGO_parse_table, 17, "SCSISIGO",
579 0x40, regvalue, cur_col, wrap));
582 static const ahd_reg_parse_entry_t SCSISIGI_parse_table[] = {
583 { "P_DATAOUT", 0x00, 0xe0 },
584 { "P_DATAOUT_DT", 0x20, 0xe0 },
585 { "P_DATAIN", 0x40, 0xe0 },
586 { "P_DATAIN_DT", 0x60, 0xe0 },
587 { "P_COMMAND", 0x80, 0xe0 },
588 { "P_MESGOUT", 0xa0, 0xe0 },
589 { "P_STATUS", 0xc0, 0xe0 },
590 { "P_MESGIN", 0xe0, 0xe0 },
591 { "ACKI", 0x01, 0x01 },
592 { "REQI", 0x02, 0x02 },
593 { "BSYI", 0x04, 0x04 },
594 { "SELI", 0x08, 0x08 },
595 { "ATNI", 0x10, 0x10 },
596 { "MSGI", 0x20, 0x20 },
597 { "IOI", 0x40, 0x40 },
598 { "CDI", 0x80, 0x80 },
599 { "PHASE_MASK", 0xe0, 0xe0 }
603 ahd_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
605 return (ahd_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
606 0x41, regvalue, cur_col, wrap));
609 static const ahd_reg_parse_entry_t SCSIPHASE_parse_table[] = {
610 { "DATA_OUT_PHASE", 0x01, 0x03 },
611 { "DATA_IN_PHASE", 0x02, 0x03 },
612 { "DATA_PHASE_MASK", 0x03, 0x03 },
613 { "MSG_OUT_PHASE", 0x04, 0x04 },
614 { "MSG_IN_PHASE", 0x08, 0x08 },
615 { "COMMAND_PHASE", 0x10, 0x10 },
616 { "STATUS_PHASE", 0x20, 0x20 }
620 ahd_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
622 return (ahd_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
623 0x42, regvalue, cur_col, wrap));
627 ahd_scsidat_print(u_int regvalue, u_int *cur_col, u_int wrap)
629 return (ahd_print_register(NULL, 0, "SCSIDAT",
630 0x44, regvalue, cur_col, wrap));
634 ahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap)
636 return (ahd_print_register(NULL, 0, "SCSIBUS",
637 0x46, regvalue, cur_col, wrap));
640 static const ahd_reg_parse_entry_t TARGIDIN_parse_table[] = {
641 { "TARGID", 0x0f, 0x0f },
642 { "CLKOUT", 0x80, 0x80 }
646 ahd_targidin_print(u_int regvalue, u_int *cur_col, u_int wrap)
648 return (ahd_print_register(TARGIDIN_parse_table, 2, "TARGIDIN",
649 0x48, regvalue, cur_col, wrap));
652 static const ahd_reg_parse_entry_t SELID_parse_table[] = {
653 { "ONEBIT", 0x08, 0x08 },
654 { "SELID_MASK", 0xf0, 0xf0 }
658 ahd_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
660 return (ahd_print_register(SELID_parse_table, 2, "SELID",
661 0x49, regvalue, cur_col, wrap));
664 static const ahd_reg_parse_entry_t OPTIONMODE_parse_table[] = {
665 { "AUTO_MSGOUT_DE", 0x02, 0x02 },
666 { "ENDGFORMCHK", 0x04, 0x04 },
667 { "BUSFREEREV", 0x10, 0x10 },
668 { "BIASCANCTL", 0x20, 0x20 },
669 { "AUTOACKEN", 0x40, 0x40 },
670 { "BIOSCANCTL", 0x80, 0x80 },
671 { "OPTIONMODE_DEFAULTS",0x02, 0x02 }
675 ahd_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
677 return (ahd_print_register(OPTIONMODE_parse_table, 7, "OPTIONMODE",
678 0x4a, regvalue, cur_col, wrap));
681 static const ahd_reg_parse_entry_t SBLKCTL_parse_table[] = {
682 { "SELWIDE", 0x02, 0x02 },
683 { "ENAB20", 0x04, 0x04 },
684 { "ENAB40", 0x08, 0x08 },
685 { "DIAGLEDON", 0x40, 0x40 },
686 { "DIAGLEDEN", 0x80, 0x80 }
690 ahd_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
692 return (ahd_print_register(SBLKCTL_parse_table, 5, "SBLKCTL",
693 0x4a, regvalue, cur_col, wrap));
696 static const ahd_reg_parse_entry_t SSTAT0_parse_table[] = {
697 { "ARBDO", 0x01, 0x01 },
698 { "SPIORDY", 0x02, 0x02 },
699 { "OVERRUN", 0x04, 0x04 },
700 { "IOERR", 0x08, 0x08 },
701 { "SELINGO", 0x10, 0x10 },
702 { "SELDI", 0x20, 0x20 },
703 { "SELDO", 0x40, 0x40 },
704 { "TARGET", 0x80, 0x80 }
708 ahd_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
710 return (ahd_print_register(SSTAT0_parse_table, 8, "SSTAT0",
711 0x4b, regvalue, cur_col, wrap));
714 static const ahd_reg_parse_entry_t SIMODE0_parse_table[] = {
715 { "ENARBDO", 0x01, 0x01 },
716 { "ENSPIORDY", 0x02, 0x02 },
717 { "ENOVERRUN", 0x04, 0x04 },
718 { "ENIOERR", 0x08, 0x08 },
719 { "ENSELINGO", 0x10, 0x10 },
720 { "ENSELDI", 0x20, 0x20 },
721 { "ENSELDO", 0x40, 0x40 }
725 ahd_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
727 return (ahd_print_register(SIMODE0_parse_table, 7, "SIMODE0",
728 0x4b, regvalue, cur_col, wrap));
731 static const ahd_reg_parse_entry_t CLRSINT0_parse_table[] = {
732 { "CLRARBDO", 0x01, 0x01 },
733 { "CLRSPIORDY", 0x02, 0x02 },
734 { "CLROVERRUN", 0x04, 0x04 },
735 { "CLRIOERR", 0x08, 0x08 },
736 { "CLRSELINGO", 0x10, 0x10 },
737 { "CLRSELDI", 0x20, 0x20 },
738 { "CLRSELDO", 0x40, 0x40 }
742 ahd_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
744 return (ahd_print_register(CLRSINT0_parse_table, 7, "CLRSINT0",
745 0x4b, regvalue, cur_col, wrap));
748 static const ahd_reg_parse_entry_t SSTAT1_parse_table[] = {
749 { "REQINIT", 0x01, 0x01 },
750 { "STRB2FAST", 0x02, 0x02 },
751 { "SCSIPERR", 0x04, 0x04 },
752 { "BUSFREE", 0x08, 0x08 },
753 { "PHASEMIS", 0x10, 0x10 },
754 { "SCSIRSTI", 0x20, 0x20 },
755 { "ATNTARG", 0x40, 0x40 },
756 { "SELTO", 0x80, 0x80 }
760 ahd_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
762 return (ahd_print_register(SSTAT1_parse_table, 8, "SSTAT1",
763 0x4c, regvalue, cur_col, wrap));
766 static const ahd_reg_parse_entry_t CLRSINT1_parse_table[] = {
767 { "CLRREQINIT", 0x01, 0x01 },
768 { "CLRSTRB2FAST", 0x02, 0x02 },
769 { "CLRSCSIPERR", 0x04, 0x04 },
770 { "CLRBUSFREE", 0x08, 0x08 },
771 { "CLRSCSIRSTI", 0x20, 0x20 },
772 { "CLRATNO", 0x40, 0x40 },
773 { "CLRSELTIMEO", 0x80, 0x80 }
777 ahd_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
779 return (ahd_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
780 0x4c, regvalue, cur_col, wrap));
783 static const ahd_reg_parse_entry_t SSTAT2_parse_table[] = {
784 { "BUSFREE_LQO", 0x40, 0xc0 },
785 { "BUSFREE_DFF0", 0x80, 0xc0 },
786 { "BUSFREE_DFF1", 0xc0, 0xc0 },
787 { "DMADONE", 0x01, 0x01 },
788 { "SDONE", 0x02, 0x02 },
789 { "WIDE_RES", 0x04, 0x04 },
790 { "BSYX", 0x08, 0x08 },
791 { "EXP_ACTIVE", 0x10, 0x10 },
792 { "NONPACKREQ", 0x20, 0x20 },
793 { "BUSFREETIME", 0xc0, 0xc0 }
797 ahd_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
799 return (ahd_print_register(SSTAT2_parse_table, 10, "SSTAT2",
800 0x4d, regvalue, cur_col, wrap));
803 static const ahd_reg_parse_entry_t CLRSINT2_parse_table[] = {
804 { "CLRDMADONE", 0x01, 0x01 },
805 { "CLRSDONE", 0x02, 0x02 },
806 { "CLRWIDE_RES", 0x04, 0x04 },
807 { "CLRNONPACKREQ", 0x20, 0x20 }
811 ahd_clrsint2_print(u_int regvalue, u_int *cur_col, u_int wrap)
813 return (ahd_print_register(CLRSINT2_parse_table, 4, "CLRSINT2",
814 0x4d, regvalue, cur_col, wrap));
817 static const ahd_reg_parse_entry_t PERRDIAG_parse_table[] = {
818 { "DTERR", 0x01, 0x01 },
819 { "DGFORMERR", 0x02, 0x02 },
820 { "CRCERR", 0x04, 0x04 },
821 { "AIPERR", 0x08, 0x08 },
822 { "PARITYERR", 0x10, 0x10 },
823 { "PREVPHASE", 0x20, 0x20 },
824 { "HIPERR", 0x40, 0x40 },
825 { "HIZERO", 0x80, 0x80 }
829 ahd_perrdiag_print(u_int regvalue, u_int *cur_col, u_int wrap)
831 return (ahd_print_register(PERRDIAG_parse_table, 8, "PERRDIAG",
832 0x4e, regvalue, cur_col, wrap));
836 ahd_lqistate_print(u_int regvalue, u_int *cur_col, u_int wrap)
838 return (ahd_print_register(NULL, 0, "LQISTATE",
839 0x4e, regvalue, cur_col, wrap));
843 ahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
845 return (ahd_print_register(NULL, 0, "SOFFCNT",
846 0x4f, regvalue, cur_col, wrap));
850 ahd_lqostate_print(u_int regvalue, u_int *cur_col, u_int wrap)
852 return (ahd_print_register(NULL, 0, "LQOSTATE",
853 0x4f, regvalue, cur_col, wrap));
856 static const ahd_reg_parse_entry_t LQISTAT0_parse_table[] = {
857 { "LQIATNCMD", 0x01, 0x01 },
858 { "LQIATNLQ", 0x02, 0x02 },
859 { "LQIBADLQT", 0x04, 0x04 },
860 { "LQICRCT2", 0x08, 0x08 },
861 { "LQICRCT1", 0x10, 0x10 },
862 { "LQIATNQAS", 0x20, 0x20 }
866 ahd_lqistat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
868 return (ahd_print_register(LQISTAT0_parse_table, 6, "LQISTAT0",
869 0x50, regvalue, cur_col, wrap));
872 static const ahd_reg_parse_entry_t LQIMODE0_parse_table[] = {
873 { "ENLQIATNCMD", 0x01, 0x01 },
874 { "ENLQIATNLQ", 0x02, 0x02 },
875 { "ENLQIBADLQT", 0x04, 0x04 },
876 { "ENLQICRCT2", 0x08, 0x08 },
877 { "ENLQICRCT1", 0x10, 0x10 },
878 { "ENLQIATNQASK", 0x20, 0x20 }
882 ahd_lqimode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
884 return (ahd_print_register(LQIMODE0_parse_table, 6, "LQIMODE0",
885 0x50, regvalue, cur_col, wrap));
888 static const ahd_reg_parse_entry_t CLRLQIINT0_parse_table[] = {
889 { "CLRLQIATNCMD", 0x01, 0x01 },
890 { "CLRLQIATNLQ", 0x02, 0x02 },
891 { "CLRLQIBADLQT", 0x04, 0x04 },
892 { "CLRLQICRCT2", 0x08, 0x08 },
893 { "CLRLQICRCT1", 0x10, 0x10 },
894 { "CLRLQIATNQAS", 0x20, 0x20 }
898 ahd_clrlqiint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
900 return (ahd_print_register(CLRLQIINT0_parse_table, 6, "CLRLQIINT0",
901 0x50, regvalue, cur_col, wrap));
904 static const ahd_reg_parse_entry_t LQIMODE1_parse_table[] = {
905 { "ENLQIOVERI_NLQ", 0x01, 0x01 },
906 { "ENLQIOVERI_LQ", 0x02, 0x02 },
907 { "ENLQIBADLQI", 0x04, 0x04 },
908 { "ENLQICRCI_NLQ", 0x08, 0x08 },
909 { "ENLQICRCI_LQ", 0x10, 0x10 },
910 { "ENLIQABORT", 0x20, 0x20 },
911 { "ENLQIPHASE_NLQ", 0x40, 0x40 },
912 { "ENLQIPHASE_LQ", 0x80, 0x80 }
916 ahd_lqimode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
918 return (ahd_print_register(LQIMODE1_parse_table, 8, "LQIMODE1",
919 0x51, regvalue, cur_col, wrap));
922 static const ahd_reg_parse_entry_t LQISTAT1_parse_table[] = {
923 { "LQIOVERI_NLQ", 0x01, 0x01 },
924 { "LQIOVERI_LQ", 0x02, 0x02 },
925 { "LQIBADLQI", 0x04, 0x04 },
926 { "LQICRCI_NLQ", 0x08, 0x08 },
927 { "LQICRCI_LQ", 0x10, 0x10 },
928 { "LQIABORT", 0x20, 0x20 },
929 { "LQIPHASE_NLQ", 0x40, 0x40 },
930 { "LQIPHASE_LQ", 0x80, 0x80 }
934 ahd_lqistat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
936 return (ahd_print_register(LQISTAT1_parse_table, 8, "LQISTAT1",
937 0x51, regvalue, cur_col, wrap));
940 static const ahd_reg_parse_entry_t CLRLQIINT1_parse_table[] = {
941 { "CLRLQIOVERI_NLQ", 0x01, 0x01 },
942 { "CLRLQIOVERI_LQ", 0x02, 0x02 },
943 { "CLRLQIBADLQI", 0x04, 0x04 },
944 { "CLRLQICRCI_NLQ", 0x08, 0x08 },
945 { "CLRLQICRCI_LQ", 0x10, 0x10 },
946 { "CLRLIQABORT", 0x20, 0x20 },
947 { "CLRLQIPHASE_NLQ", 0x40, 0x40 },
948 { "CLRLQIPHASE_LQ", 0x80, 0x80 }
952 ahd_clrlqiint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
954 return (ahd_print_register(CLRLQIINT1_parse_table, 8, "CLRLQIINT1",
955 0x51, regvalue, cur_col, wrap));
958 static const ahd_reg_parse_entry_t LQISTAT2_parse_table[] = {
959 { "LQIGSAVAIL", 0x01, 0x01 },
960 { "LQISTOPCMD", 0x02, 0x02 },
961 { "LQISTOPLQ", 0x04, 0x04 },
962 { "LQISTOPPKT", 0x08, 0x08 },
963 { "LQIWAITFIFO", 0x10, 0x10 },
964 { "LQIWORKONLQ", 0x20, 0x20 },
965 { "LQIPHASE_OUTPKT", 0x40, 0x40 },
966 { "PACKETIZED", 0x80, 0x80 }
970 ahd_lqistat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
972 return (ahd_print_register(LQISTAT2_parse_table, 8, "LQISTAT2",
973 0x52, regvalue, cur_col, wrap));
976 static const ahd_reg_parse_entry_t SSTAT3_parse_table[] = {
977 { "OSRAMPERR", 0x01, 0x01 },
978 { "NTRAMPERR", 0x02, 0x02 }
982 ahd_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
984 return (ahd_print_register(SSTAT3_parse_table, 2, "SSTAT3",
985 0x53, regvalue, cur_col, wrap));
988 static const ahd_reg_parse_entry_t SIMODE3_parse_table[] = {
989 { "ENOSRAMPERR", 0x01, 0x01 },
990 { "ENNTRAMPERR", 0x02, 0x02 }
994 ahd_simode3_print(u_int regvalue, u_int *cur_col, u_int wrap)
996 return (ahd_print_register(SIMODE3_parse_table, 2, "SIMODE3",
997 0x53, regvalue, cur_col, wrap));
1000 static const ahd_reg_parse_entry_t CLRSINT3_parse_table[] = {
1001 { "CLROSRAMPERR", 0x01, 0x01 },
1002 { "CLRNTRAMPERR", 0x02, 0x02 }
1006 ahd_clrsint3_print(u_int regvalue, u_int *cur_col, u_int wrap)
1008 return (ahd_print_register(CLRSINT3_parse_table, 2, "CLRSINT3",
1009 0x53, regvalue, cur_col, wrap));
1012 static const ahd_reg_parse_entry_t LQOSTAT0_parse_table[] = {
1013 { "LQOTCRC", 0x01, 0x01 },
1014 { "LQOATNPKT", 0x02, 0x02 },
1015 { "LQOATNLQ", 0x04, 0x04 },
1016 { "LQOSTOPT2", 0x08, 0x08 },
1017 { "LQOTARGSCBPERR", 0x10, 0x10 }
1021 ahd_lqostat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1023 return (ahd_print_register(LQOSTAT0_parse_table, 5, "LQOSTAT0",
1024 0x54, regvalue, cur_col, wrap));
1027 static const ahd_reg_parse_entry_t CLRLQOINT0_parse_table[] = {
1028 { "CLRLQOTCRC", 0x01, 0x01 },
1029 { "CLRLQOATNPKT", 0x02, 0x02 },
1030 { "CLRLQOATNLQ", 0x04, 0x04 },
1031 { "CLRLQOSTOPT2", 0x08, 0x08 },
1032 { "CLRLQOTARGSCBPERR", 0x10, 0x10 }
1036 ahd_clrlqoint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1038 return (ahd_print_register(CLRLQOINT0_parse_table, 5, "CLRLQOINT0",
1039 0x54, regvalue, cur_col, wrap));
1042 static const ahd_reg_parse_entry_t LQOMODE0_parse_table[] = {
1043 { "ENLQOTCRC", 0x01, 0x01 },
1044 { "ENLQOATNPKT", 0x02, 0x02 },
1045 { "ENLQOATNLQ", 0x04, 0x04 },
1046 { "ENLQOSTOPT2", 0x08, 0x08 },
1047 { "ENLQOTARGSCBPERR", 0x10, 0x10 }
1051 ahd_lqomode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1053 return (ahd_print_register(LQOMODE0_parse_table, 5, "LQOMODE0",
1054 0x54, regvalue, cur_col, wrap));
1057 static const ahd_reg_parse_entry_t LQOMODE1_parse_table[] = {
1058 { "ENLQOPHACHGINPKT", 0x01, 0x01 },
1059 { "ENLQOBUSFREE", 0x02, 0x02 },
1060 { "ENLQOBADQAS", 0x04, 0x04 },
1061 { "ENLQOSTOPI2", 0x08, 0x08 },
1062 { "ENLQOINITSCBPERR", 0x10, 0x10 }
1066 ahd_lqomode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1068 return (ahd_print_register(LQOMODE1_parse_table, 5, "LQOMODE1",
1069 0x55, regvalue, cur_col, wrap));
1072 static const ahd_reg_parse_entry_t LQOSTAT1_parse_table[] = {
1073 { "LQOPHACHGINPKT", 0x01, 0x01 },
1074 { "LQOBUSFREE", 0x02, 0x02 },
1075 { "LQOBADQAS", 0x04, 0x04 },
1076 { "LQOSTOPI2", 0x08, 0x08 },
1077 { "LQOINITSCBPERR", 0x10, 0x10 }
1081 ahd_lqostat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1083 return (ahd_print_register(LQOSTAT1_parse_table, 5, "LQOSTAT1",
1084 0x55, regvalue, cur_col, wrap));
1087 static const ahd_reg_parse_entry_t CLRLQOINT1_parse_table[] = {
1088 { "CLRLQOPHACHGINPKT", 0x01, 0x01 },
1089 { "CLRLQOBUSFREE", 0x02, 0x02 },
1090 { "CLRLQOBADQAS", 0x04, 0x04 },
1091 { "CLRLQOSTOPI2", 0x08, 0x08 },
1092 { "CLRLQOINITSCBPERR", 0x10, 0x10 }
1096 ahd_clrlqoint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1098 return (ahd_print_register(CLRLQOINT1_parse_table, 5, "CLRLQOINT1",
1099 0x55, regvalue, cur_col, wrap));
1102 static const ahd_reg_parse_entry_t LQOSTAT2_parse_table[] = {
1103 { "LQOSTOP0", 0x01, 0x01 },
1104 { "LQOPHACHGOUTPKT", 0x02, 0x02 },
1105 { "LQOWAITFIFO", 0x10, 0x10 },
1106 { "LQOPKT", 0xe0, 0xe0 }
1110 ahd_lqostat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
1112 return (ahd_print_register(LQOSTAT2_parse_table, 4, "LQOSTAT2",
1113 0x56, regvalue, cur_col, wrap));
1117 ahd_os_space_cnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1119 return (ahd_print_register(NULL, 0, "OS_SPACE_CNT",
1120 0x56, regvalue, cur_col, wrap));
1123 static const ahd_reg_parse_entry_t SIMODE1_parse_table[] = {
1124 { "ENREQINIT", 0x01, 0x01 },
1125 { "ENSTRB2FAST", 0x02, 0x02 },
1126 { "ENSCSIPERR", 0x04, 0x04 },
1127 { "ENBUSFREE", 0x08, 0x08 },
1128 { "ENPHASEMIS", 0x10, 0x10 },
1129 { "ENSCSIRST", 0x20, 0x20 },
1130 { "ENATNTARG", 0x40, 0x40 },
1131 { "ENSELTIMO", 0x80, 0x80 }
1135 ahd_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1137 return (ahd_print_register(SIMODE1_parse_table, 8, "SIMODE1",
1138 0x57, regvalue, cur_col, wrap));
1142 ahd_gsfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
1144 return (ahd_print_register(NULL, 0, "GSFIFO",
1145 0x58, regvalue, cur_col, wrap));
1148 static const ahd_reg_parse_entry_t DFFSXFRCTL_parse_table[] = {
1149 { "RSTCHN", 0x01, 0x01 },
1150 { "CLRCHN", 0x02, 0x02 },
1151 { "CLRSHCNT", 0x04, 0x04 },
1152 { "DFFBITBUCKET", 0x08, 0x08 }
1156 ahd_dffsxfrctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1158 return (ahd_print_register(DFFSXFRCTL_parse_table, 4, "DFFSXFRCTL",
1159 0x5a, regvalue, cur_col, wrap));
1162 static const ahd_reg_parse_entry_t LQOSCSCTL_parse_table[] = {
1163 { "LQONOCHKOVER", 0x01, 0x01 },
1164 { "LQONOHOLDLACK", 0x02, 0x02 },
1165 { "LQOBUSETDLY", 0x40, 0x40 },
1166 { "LQOH2A_VERSION", 0x80, 0x80 }
1170 ahd_lqoscsctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1172 return (ahd_print_register(LQOSCSCTL_parse_table, 4, "LQOSCSCTL",
1173 0x5a, regvalue, cur_col, wrap));
1177 ahd_nextscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
1179 return (ahd_print_register(NULL, 0, "NEXTSCB",
1180 0x5a, regvalue, cur_col, wrap));
1183 static const ahd_reg_parse_entry_t CLRSEQINTSRC_parse_table[] = {
1184 { "CLRCFG4TCMD", 0x01, 0x01 },
1185 { "CLRCFG4ICMD", 0x02, 0x02 },
1186 { "CLRCFG4TSTAT", 0x04, 0x04 },
1187 { "CLRCFG4ISTAT", 0x08, 0x08 },
1188 { "CLRCFG4DATA", 0x10, 0x10 },
1189 { "CLRSAVEPTRS", 0x20, 0x20 },
1190 { "CLRCTXTDONE", 0x40, 0x40 }
1194 ahd_clrseqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
1196 return (ahd_print_register(CLRSEQINTSRC_parse_table, 7, "CLRSEQINTSRC",
1197 0x5b, regvalue, cur_col, wrap));
1200 static const ahd_reg_parse_entry_t SEQINTSRC_parse_table[] = {
1201 { "CFG4TCMD", 0x01, 0x01 },
1202 { "CFG4ICMD", 0x02, 0x02 },
1203 { "CFG4TSTAT", 0x04, 0x04 },
1204 { "CFG4ISTAT", 0x08, 0x08 },
1205 { "CFG4DATA", 0x10, 0x10 },
1206 { "SAVEPTRS", 0x20, 0x20 },
1207 { "CTXTDONE", 0x40, 0x40 }
1211 ahd_seqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
1213 return (ahd_print_register(SEQINTSRC_parse_table, 7, "SEQINTSRC",
1214 0x5b, regvalue, cur_col, wrap));
1217 static const ahd_reg_parse_entry_t SEQIMODE_parse_table[] = {
1218 { "ENCFG4TCMD", 0x01, 0x01 },
1219 { "ENCFG4ICMD", 0x02, 0x02 },
1220 { "ENCFG4TSTAT", 0x04, 0x04 },
1221 { "ENCFG4ISTAT", 0x08, 0x08 },
1222 { "ENCFG4DATA", 0x10, 0x10 },
1223 { "ENSAVEPTRS", 0x20, 0x20 },
1224 { "ENCTXTDONE", 0x40, 0x40 }
1228 ahd_seqimode_print(u_int regvalue, u_int *cur_col, u_int wrap)
1230 return (ahd_print_register(SEQIMODE_parse_table, 7, "SEQIMODE",
1231 0x5c, regvalue, cur_col, wrap));
1235 ahd_currscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
1237 return (ahd_print_register(NULL, 0, "CURRSCB",
1238 0x5c, regvalue, cur_col, wrap));
1241 static const ahd_reg_parse_entry_t MDFFSTAT_parse_table[] = {
1242 { "FIFOFREE", 0x01, 0x01 },
1243 { "DATAINFIFO", 0x02, 0x02 },
1244 { "DLZERO", 0x04, 0x04 },
1245 { "SHVALID", 0x08, 0x08 },
1246 { "LASTSDONE", 0x10, 0x10 },
1247 { "SHCNTMINUS1", 0x20, 0x20 },
1248 { "SHCNTNEGATIVE", 0x40, 0x40 }
1252 ahd_mdffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1254 return (ahd_print_register(MDFFSTAT_parse_table, 7, "MDFFSTAT",
1255 0x5d, regvalue, cur_col, wrap));
1259 ahd_lastscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
1261 return (ahd_print_register(NULL, 0, "LASTSCB",
1262 0x5e, regvalue, cur_col, wrap));
1266 ahd_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1268 return (ahd_print_register(NULL, 0, "SHADDR",
1269 0x60, regvalue, cur_col, wrap));
1273 ahd_negoaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1275 return (ahd_print_register(NULL, 0, "NEGOADDR",
1276 0x60, regvalue, cur_col, wrap));
1280 ahd_negperiod_print(u_int regvalue, u_int *cur_col, u_int wrap)
1282 return (ahd_print_register(NULL, 0, "NEGPERIOD",
1283 0x61, regvalue, cur_col, wrap));
1287 ahd_negoffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
1289 return (ahd_print_register(NULL, 0, "NEGOFFSET",
1290 0x62, regvalue, cur_col, wrap));
1293 static const ahd_reg_parse_entry_t NEGPPROPTS_parse_table[] = {
1294 { "PPROPT_IUT", 0x01, 0x01 },
1295 { "PPROPT_DT", 0x02, 0x02 },
1296 { "PPROPT_QAS", 0x04, 0x04 },
1297 { "PPROPT_PACE", 0x08, 0x08 }
1301 ahd_negppropts_print(u_int regvalue, u_int *cur_col, u_int wrap)
1303 return (ahd_print_register(NEGPPROPTS_parse_table, 4, "NEGPPROPTS",
1304 0x63, regvalue, cur_col, wrap));
1307 static const ahd_reg_parse_entry_t NEGCONOPTS_parse_table[] = {
1308 { "WIDEXFER", 0x01, 0x01 },
1309 { "ENAUTOATNO", 0x02, 0x02 },
1310 { "ENAUTOATNI", 0x04, 0x04 },
1311 { "ENSLOWCRC", 0x08, 0x08 },
1312 { "RTI_OVRDTRN", 0x10, 0x10 },
1313 { "RTI_WRTDIS", 0x20, 0x20 },
1314 { "ENSNAPSHOT", 0x40, 0x40 }
1318 ahd_negconopts_print(u_int regvalue, u_int *cur_col, u_int wrap)
1320 return (ahd_print_register(NEGCONOPTS_parse_table, 7, "NEGCONOPTS",
1321 0x64, regvalue, cur_col, wrap));
1325 ahd_annexcol_print(u_int regvalue, u_int *cur_col, u_int wrap)
1327 return (ahd_print_register(NULL, 0, "ANNEXCOL",
1328 0x65, regvalue, cur_col, wrap));
1332 ahd_annexdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1334 return (ahd_print_register(NULL, 0, "ANNEXDAT",
1335 0x66, regvalue, cur_col, wrap));
1338 static const ahd_reg_parse_entry_t SCSCHKN_parse_table[] = {
1339 { "LSTSGCLRDIS", 0x01, 0x01 },
1340 { "SHVALIDSTDIS", 0x02, 0x02 },
1341 { "DFFACTCLR", 0x04, 0x04 },
1342 { "SDONEMSKDIS", 0x08, 0x08 },
1343 { "WIDERESEN", 0x10, 0x10 },
1344 { "CURRFIFODEF", 0x20, 0x20 },
1345 { "STSELSKIDDIS", 0x40, 0x40 },
1346 { "BIDICHKDIS", 0x80, 0x80 }
1350 ahd_scschkn_print(u_int regvalue, u_int *cur_col, u_int wrap)
1352 return (ahd_print_register(SCSCHKN_parse_table, 8, "SCSCHKN",
1353 0x66, regvalue, cur_col, wrap));
1357 ahd_iownid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1359 return (ahd_print_register(NULL, 0, "IOWNID",
1360 0x67, regvalue, cur_col, wrap));
1364 ahd_shcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1366 return (ahd_print_register(NULL, 0, "SHCNT",
1367 0x68, regvalue, cur_col, wrap));
1371 ahd_townid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1373 return (ahd_print_register(NULL, 0, "TOWNID",
1374 0x69, regvalue, cur_col, wrap));
1378 ahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap)
1380 return (ahd_print_register(NULL, 0, "SELOID",
1381 0x6b, regvalue, cur_col, wrap));
1385 ahd_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1387 return (ahd_print_register(NULL, 0, "HADDR",
1388 0x70, regvalue, cur_col, wrap));
1392 ahd_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1394 return (ahd_print_register(NULL, 0, "HCNT",
1395 0x78, regvalue, cur_col, wrap));
1399 ahd_sghaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1401 return (ahd_print_register(NULL, 0, "SGHADDR",
1402 0x7c, regvalue, cur_col, wrap));
1406 ahd_scbhaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1408 return (ahd_print_register(NULL, 0, "SCBHADDR",
1409 0x7c, regvalue, cur_col, wrap));
1413 ahd_sghcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1415 return (ahd_print_register(NULL, 0, "SGHCNT",
1416 0x84, regvalue, cur_col, wrap));
1420 ahd_scbhcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1422 return (ahd_print_register(NULL, 0, "SCBHCNT",
1423 0x84, regvalue, cur_col, wrap));
1426 static const ahd_reg_parse_entry_t DFF_THRSH_parse_table[] = {
1427 { "WR_DFTHRSH_MIN", 0x00, 0x70 },
1428 { "RD_DFTHRSH_MIN", 0x00, 0x07 },
1429 { "RD_DFTHRSH_25", 0x01, 0x07 },
1430 { "RD_DFTHRSH_50", 0x02, 0x07 },
1431 { "RD_DFTHRSH_63", 0x03, 0x07 },
1432 { "RD_DFTHRSH_75", 0x04, 0x07 },
1433 { "RD_DFTHRSH_85", 0x05, 0x07 },
1434 { "RD_DFTHRSH_90", 0x06, 0x07 },
1435 { "RD_DFTHRSH_MAX", 0x07, 0x07 },
1436 { "WR_DFTHRSH_25", 0x10, 0x70 },
1437 { "WR_DFTHRSH_50", 0x20, 0x70 },
1438 { "WR_DFTHRSH_63", 0x30, 0x70 },
1439 { "WR_DFTHRSH_75", 0x40, 0x70 },
1440 { "WR_DFTHRSH_85", 0x50, 0x70 },
1441 { "WR_DFTHRSH_90", 0x60, 0x70 },
1442 { "WR_DFTHRSH_MAX", 0x70, 0x70 },
1443 { "RD_DFTHRSH", 0x07, 0x07 },
1444 { "WR_DFTHRSH", 0x70, 0x70 }
1448 ahd_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
1450 return (ahd_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
1451 0x88, regvalue, cur_col, wrap));
1454 static const ahd_reg_parse_entry_t PCIXCTL_parse_table[] = {
1455 { "CMPABCDIS", 0x01, 0x01 },
1456 { "TSCSERREN", 0x02, 0x02 },
1457 { "SRSPDPEEN", 0x04, 0x04 },
1458 { "SPLTSTADIS", 0x08, 0x08 },
1459 { "SPLTSMADIS", 0x10, 0x10 },
1460 { "UNEXPSCIEN", 0x20, 0x20 },
1461 { "SERRPULSE", 0x80, 0x80 }
1465 ahd_pcixctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1467 return (ahd_print_register(PCIXCTL_parse_table, 7, "PCIXCTL",
1468 0x93, regvalue, cur_col, wrap));
1471 static const ahd_reg_parse_entry_t DCHSPLTSTAT0_parse_table[] = {
1472 { "RXSPLTRSP", 0x01, 0x01 },
1473 { "RXSCEMSG", 0x02, 0x02 },
1474 { "RXOVRUN", 0x04, 0x04 },
1475 { "CNTNOTCMPLT", 0x08, 0x08 },
1476 { "SCDATBUCKET", 0x10, 0x10 },
1477 { "SCADERR", 0x20, 0x20 },
1478 { "SCBCERR", 0x40, 0x40 },
1479 { "STAETERM", 0x80, 0x80 }
1483 ahd_dchspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1485 return (ahd_print_register(DCHSPLTSTAT0_parse_table, 8, "DCHSPLTSTAT0",
1486 0x96, regvalue, cur_col, wrap));
1489 static const ahd_reg_parse_entry_t DCHSPLTSTAT1_parse_table[] = {
1490 { "RXDATABUCKET", 0x01, 0x01 }
1494 ahd_dchspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1496 return (ahd_print_register(DCHSPLTSTAT1_parse_table, 1, "DCHSPLTSTAT1",
1497 0x97, regvalue, cur_col, wrap));
1500 static const ahd_reg_parse_entry_t SGSPLTSTAT0_parse_table[] = {
1501 { "RXSPLTRSP", 0x01, 0x01 },
1502 { "RXSCEMSG", 0x02, 0x02 },
1503 { "RXOVRUN", 0x04, 0x04 },
1504 { "CNTNOTCMPLT", 0x08, 0x08 },
1505 { "SCDATBUCKET", 0x10, 0x10 },
1506 { "SCADERR", 0x20, 0x20 },
1507 { "SCBCERR", 0x40, 0x40 },
1508 { "STAETERM", 0x80, 0x80 }
1512 ahd_sgspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1514 return (ahd_print_register(SGSPLTSTAT0_parse_table, 8, "SGSPLTSTAT0",
1515 0x9e, regvalue, cur_col, wrap));
1518 static const ahd_reg_parse_entry_t SGSPLTSTAT1_parse_table[] = {
1519 { "RXDATABUCKET", 0x01, 0x01 }
1523 ahd_sgspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
1525 return (ahd_print_register(SGSPLTSTAT1_parse_table, 1, "SGSPLTSTAT1",
1526 0x9f, regvalue, cur_col, wrap));
1529 static const ahd_reg_parse_entry_t DF0PCISTAT_parse_table[] = {
1530 { "DPR", 0x01, 0x01 },
1531 { "TWATERR", 0x02, 0x02 },
1532 { "RDPERR", 0x04, 0x04 },
1533 { "SCAAPERR", 0x08, 0x08 },
1534 { "RTA", 0x10, 0x10 },
1535 { "RMA", 0x20, 0x20 },
1536 { "SSE", 0x40, 0x40 },
1537 { "DPE", 0x80, 0x80 }
1541 ahd_df0pcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1543 return (ahd_print_register(DF0PCISTAT_parse_table, 8, "DF0PCISTAT",
1544 0xa0, regvalue, cur_col, wrap));
1548 ahd_reg0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1550 return (ahd_print_register(NULL, 0, "REG0",
1551 0xa0, regvalue, cur_col, wrap));
1555 ahd_reg_isr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1557 return (ahd_print_register(NULL, 0, "REG_ISR",
1558 0xa4, regvalue, cur_col, wrap));
1561 static const ahd_reg_parse_entry_t SG_STATE_parse_table[] = {
1562 { "SEGS_AVAIL", 0x01, 0x01 },
1563 { "LOADING_NEEDED", 0x02, 0x02 },
1564 { "FETCH_INPROG", 0x04, 0x04 }
1568 ahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap)
1570 return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE",
1571 0xa6, regvalue, cur_col, wrap));
1574 static const ahd_reg_parse_entry_t TARGPCISTAT_parse_table[] = {
1575 { "TWATERR", 0x02, 0x02 },
1576 { "STA", 0x08, 0x08 },
1577 { "SSE", 0x40, 0x40 },
1578 { "DPE", 0x80, 0x80 }
1582 ahd_targpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1584 return (ahd_print_register(TARGPCISTAT_parse_table, 4, "TARGPCISTAT",
1585 0xa7, regvalue, cur_col, wrap));
1589 ahd_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1591 return (ahd_print_register(NULL, 0, "SCBPTR",
1592 0xa8, regvalue, cur_col, wrap));
1595 static const ahd_reg_parse_entry_t SCBAUTOPTR_parse_table[] = {
1596 { "SCBPTR_OFF", 0x07, 0x07 },
1597 { "SCBPTR_ADDR", 0x38, 0x38 },
1598 { "AUSCBPTR_EN", 0x80, 0x80 }
1602 ahd_scbautoptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1604 return (ahd_print_register(SCBAUTOPTR_parse_table, 3, "SCBAUTOPTR",
1605 0xab, regvalue, cur_col, wrap));
1609 ahd_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1611 return (ahd_print_register(NULL, 0, "CCSGADDR",
1612 0xac, regvalue, cur_col, wrap));
1616 ahd_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1618 return (ahd_print_register(NULL, 0, "CCSCBADDR",
1619 0xac, regvalue, cur_col, wrap));
1622 static const ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = {
1623 { "CCSCBRESET", 0x01, 0x01 },
1624 { "CCSCBDIR", 0x04, 0x04 },
1625 { "CCSCBEN", 0x08, 0x08 },
1626 { "CCARREN", 0x10, 0x10 },
1627 { "ARRDONE", 0x40, 0x40 },
1628 { "CCSCBDONE", 0x80, 0x80 }
1632 ahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1634 return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
1635 0xad, regvalue, cur_col, wrap));
1638 static const ahd_reg_parse_entry_t CCSGCTL_parse_table[] = {
1639 { "CCSGRESET", 0x01, 0x01 },
1640 { "SG_FETCH_REQ", 0x02, 0x02 },
1641 { "CCSGENACK", 0x08, 0x08 },
1642 { "SG_CACHE_AVAIL", 0x10, 0x10 },
1643 { "CCSGDONE", 0x80, 0x80 },
1644 { "CCSGEN", 0x0c, 0x0c }
1648 ahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1650 return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL",
1651 0xad, regvalue, cur_col, wrap));
1655 ahd_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1657 return (ahd_print_register(NULL, 0, "CCSGRAM",
1658 0xb0, regvalue, cur_col, wrap));
1662 ahd_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1664 return (ahd_print_register(NULL, 0, "CCSCBRAM",
1665 0xb0, regvalue, cur_col, wrap));
1669 ahd_brddat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1671 return (ahd_print_register(NULL, 0, "BRDDAT",
1672 0xb8, regvalue, cur_col, wrap));
1675 static const ahd_reg_parse_entry_t BRDCTL_parse_table[] = {
1676 { "BRDSTB", 0x01, 0x01 },
1677 { "BRDRW", 0x02, 0x02 },
1678 { "BRDEN", 0x04, 0x04 },
1679 { "BRDADDR", 0x38, 0x38 },
1680 { "FLXARBREQ", 0x40, 0x40 },
1681 { "FLXARBACK", 0x80, 0x80 }
1685 ahd_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1687 return (ahd_print_register(BRDCTL_parse_table, 6, "BRDCTL",
1688 0xb9, regvalue, cur_col, wrap));
1692 ahd_seeadr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1694 return (ahd_print_register(NULL, 0, "SEEADR",
1695 0xba, regvalue, cur_col, wrap));
1699 ahd_seedat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1701 return (ahd_print_register(NULL, 0, "SEEDAT",
1702 0xbc, regvalue, cur_col, wrap));
1705 static const ahd_reg_parse_entry_t SEECTL_parse_table[] = {
1706 { "SEEOP_ERAL", 0x40, 0x70 },
1707 { "SEEOP_WRITE", 0x50, 0x70 },
1708 { "SEEOP_READ", 0x60, 0x70 },
1709 { "SEEOP_ERASE", 0x70, 0x70 },
1710 { "SEESTART", 0x01, 0x01 },
1711 { "SEERST", 0x02, 0x02 },
1712 { "SEEOPCODE", 0x70, 0x70 },
1713 { "SEEOP_EWEN", 0x40, 0x40 },
1714 { "SEEOP_WALL", 0x40, 0x40 },
1715 { "SEEOP_EWDS", 0x40, 0x40 }
1719 ahd_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1721 return (ahd_print_register(SEECTL_parse_table, 10, "SEECTL",
1722 0xbe, regvalue, cur_col, wrap));
1725 static const ahd_reg_parse_entry_t SEESTAT_parse_table[] = {
1726 { "SEESTART", 0x01, 0x01 },
1727 { "SEEBUSY", 0x02, 0x02 },
1728 { "SEEARBACK", 0x04, 0x04 },
1729 { "LDALTID_L", 0x08, 0x08 },
1730 { "SEEOPCODE", 0x70, 0x70 },
1731 { "INIT_DONE", 0x80, 0x80 }
1735 ahd_seestat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1737 return (ahd_print_register(SEESTAT_parse_table, 6, "SEESTAT",
1738 0xbe, regvalue, cur_col, wrap));
1741 static const ahd_reg_parse_entry_t DSPDATACTL_parse_table[] = {
1742 { "XMITOFFSTDIS", 0x02, 0x02 },
1743 { "RCVROFFSTDIS", 0x04, 0x04 },
1744 { "DESQDIS", 0x10, 0x10 },
1745 { "BYPASSENAB", 0x80, 0x80 }
1749 ahd_dspdatactl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1751 return (ahd_print_register(DSPDATACTL_parse_table, 4, "DSPDATACTL",
1752 0xc1, regvalue, cur_col, wrap));
1756 ahd_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
1758 return (ahd_print_register(NULL, 0, "DFDAT",
1759 0xc4, regvalue, cur_col, wrap));
1762 static const ahd_reg_parse_entry_t DSPSELECT_parse_table[] = {
1763 { "DSPSEL", 0x1f, 0x1f },
1764 { "AUTOINCEN", 0x80, 0x80 }
1768 ahd_dspselect_print(u_int regvalue, u_int *cur_col, u_int wrap)
1770 return (ahd_print_register(DSPSELECT_parse_table, 2, "DSPSELECT",
1771 0xc4, regvalue, cur_col, wrap));
1774 static const ahd_reg_parse_entry_t WRTBIASCTL_parse_table[] = {
1775 { "XMITMANVAL", 0x3f, 0x3f },
1776 { "AUTOXBCDIS", 0x80, 0x80 }
1780 ahd_wrtbiasctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1782 return (ahd_print_register(WRTBIASCTL_parse_table, 2, "WRTBIASCTL",
1783 0xc5, regvalue, cur_col, wrap));
1786 static const ahd_reg_parse_entry_t SEQCTL0_parse_table[] = {
1787 { "LOADRAM", 0x01, 0x01 },
1788 { "SEQRESET", 0x02, 0x02 },
1789 { "STEP", 0x04, 0x04 },
1790 { "BRKADRINTEN", 0x08, 0x08 },
1791 { "FASTMODE", 0x10, 0x10 },
1792 { "FAILDIS", 0x20, 0x20 },
1793 { "PAUSEDIS", 0x40, 0x40 },
1794 { "PERRORDIS", 0x80, 0x80 }
1798 ahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
1800 return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0",
1801 0xd6, regvalue, cur_col, wrap));
1804 static const ahd_reg_parse_entry_t FLAGS_parse_table[] = {
1805 { "CARRY", 0x01, 0x01 },
1806 { "ZERO", 0x02, 0x02 }
1810 ahd_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
1812 return (ahd_print_register(FLAGS_parse_table, 2, "FLAGS",
1813 0xd8, regvalue, cur_col, wrap));
1816 static const ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = {
1817 { "IRET", 0x01, 0x01 },
1818 { "INTMASK1", 0x02, 0x02 },
1819 { "INTMASK2", 0x04, 0x04 },
1820 { "SCS_SEQ_INT1M0", 0x08, 0x08 },
1821 { "SCS_SEQ_INT1M1", 0x10, 0x10 },
1822 { "INT1_CONTEXT", 0x20, 0x20 },
1823 { "INTVEC1DSL", 0x80, 0x80 }
1827 ahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
1829 return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL",
1830 0xd9, regvalue, cur_col, wrap));
1834 ahd_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
1836 return (ahd_print_register(NULL, 0, "SEQRAM",
1837 0xda, regvalue, cur_col, wrap));
1841 ahd_prgmcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
1843 return (ahd_print_register(NULL, 0, "PRGMCNT",
1844 0xde, regvalue, cur_col, wrap));
1848 ahd_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
1850 return (ahd_print_register(NULL, 0, "ACCUM",
1851 0xe0, regvalue, cur_col, wrap));
1855 ahd_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
1857 return (ahd_print_register(NULL, 0, "SINDEX",
1858 0xe2, regvalue, cur_col, wrap));
1862 ahd_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
1864 return (ahd_print_register(NULL, 0, "DINDEX",
1865 0xe4, regvalue, cur_col, wrap));
1869 ahd_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
1871 return (ahd_print_register(NULL, 0, "ALLONES",
1872 0xe8, regvalue, cur_col, wrap));
1876 ahd_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
1878 return (ahd_print_register(NULL, 0, "ALLZEROS",
1879 0xea, regvalue, cur_col, wrap));
1883 ahd_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
1885 return (ahd_print_register(NULL, 0, "NONE",
1886 0xea, regvalue, cur_col, wrap));
1890 ahd_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1892 return (ahd_print_register(NULL, 0, "SINDIR",
1893 0xec, regvalue, cur_col, wrap));
1897 ahd_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
1899 return (ahd_print_register(NULL, 0, "DINDIR",
1900 0xed, regvalue, cur_col, wrap));
1904 ahd_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
1906 return (ahd_print_register(NULL, 0, "STACK",
1907 0xf2, regvalue, cur_col, wrap));
1911 ahd_intvec1_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1913 return (ahd_print_register(NULL, 0, "INTVEC1_ADDR",
1914 0xf4, regvalue, cur_col, wrap));
1918 ahd_curaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1920 return (ahd_print_register(NULL, 0, "CURADDR",
1921 0xf4, regvalue, cur_col, wrap));
1925 ahd_intvec2_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1927 return (ahd_print_register(NULL, 0, "INTVEC2_ADDR",
1928 0xf6, regvalue, cur_col, wrap));
1932 ahd_longjmp_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1934 return (ahd_print_register(NULL, 0, "LONGJMP_ADDR",
1935 0xf8, regvalue, cur_col, wrap));
1939 ahd_accum_save_print(u_int regvalue, u_int *cur_col, u_int wrap)
1941 return (ahd_print_register(NULL, 0, "ACCUM_SAVE",
1942 0xfa, regvalue, cur_col, wrap));
1946 ahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
1948 return (ahd_print_register(NULL, 0, "SRAM_BASE",
1949 0x100, regvalue, cur_col, wrap));
1953 ahd_waiting_scb_tails_print(u_int regvalue, u_int *cur_col, u_int wrap)
1955 return (ahd_print_register(NULL, 0, "WAITING_SCB_TAILS",
1956 0x100, regvalue, cur_col, wrap));
1960 ahd_waiting_tid_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
1962 return (ahd_print_register(NULL, 0, "WAITING_TID_HEAD",
1963 0x120, regvalue, cur_col, wrap));
1967 ahd_waiting_tid_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
1969 return (ahd_print_register(NULL, 0, "WAITING_TID_TAIL",
1970 0x122, regvalue, cur_col, wrap));
1974 ahd_next_queued_scb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
1976 return (ahd_print_register(NULL, 0, "NEXT_QUEUED_SCB_ADDR",
1977 0x124, regvalue, cur_col, wrap));
1981 ahd_complete_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
1983 return (ahd_print_register(NULL, 0, "COMPLETE_SCB_HEAD",
1984 0x128, regvalue, cur_col, wrap));
1988 ahd_complete_scb_dmainprog_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
1990 return (ahd_print_register(NULL, 0, "COMPLETE_SCB_DMAINPROG_HEAD",
1991 0x12a, regvalue, cur_col, wrap));
1995 ahd_complete_dma_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
1997 return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_HEAD",
1998 0x12c, regvalue, cur_col, wrap));
2002 ahd_complete_dma_scb_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
2004 return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_TAIL",
2005 0x12e, regvalue, cur_col, wrap));
2009 ahd_complete_on_qfreeze_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
2011 return (ahd_print_register(NULL, 0, "COMPLETE_ON_QFREEZE_HEAD",
2012 0x130, regvalue, cur_col, wrap));
2016 ahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
2018 return (ahd_print_register(NULL, 0, "QFREEZE_COUNT",
2019 0x132, regvalue, cur_col, wrap));
2023 ahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
2025 return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT",
2026 0x134, regvalue, cur_col, wrap));
2030 ahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap)
2032 return (ahd_print_register(NULL, 0, "SAVED_MODE",
2033 0x136, regvalue, cur_col, wrap));
2037 ahd_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
2039 return (ahd_print_register(NULL, 0, "MSG_OUT",
2040 0x137, regvalue, cur_col, wrap));
2043 static const ahd_reg_parse_entry_t DMAPARAMS_parse_table[] = {
2044 { "FIFORESET", 0x01, 0x01 },
2045 { "FIFOFLUSH", 0x02, 0x02 },
2046 { "DIRECTION", 0x04, 0x04 },
2047 { "HDMAEN", 0x08, 0x08 },
2048 { "HDMAENACK", 0x08, 0x08 },
2049 { "SDMAEN", 0x10, 0x10 },
2050 { "SDMAENACK", 0x10, 0x10 },
2051 { "SCSIEN", 0x20, 0x20 },
2052 { "WIDEODD", 0x40, 0x40 },
2053 { "PRELOADEN", 0x80, 0x80 }
2057 ahd_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
2059 return (ahd_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
2060 0x138, regvalue, cur_col, wrap));
2063 static const ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
2064 { "NO_DISCONNECT", 0x01, 0x01 },
2065 { "SPHASE_PENDING", 0x02, 0x02 },
2066 { "DPHASE_PENDING", 0x04, 0x04 },
2067 { "CMDPHASE_PENDING", 0x08, 0x08 },
2068 { "TARG_CMD_PENDING", 0x10, 0x10 },
2069 { "DPHASE", 0x20, 0x20 },
2070 { "NO_CDB_SENT", 0x40, 0x40 },
2071 { "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
2072 { "NOT_IDENTIFIED", 0x80, 0x80 }
2076 ahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
2078 return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
2079 0x139, regvalue, cur_col, wrap));
2083 ahd_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
2085 return (ahd_print_register(NULL, 0, "SAVED_SCSIID",
2086 0x13a, regvalue, cur_col, wrap));
2090 ahd_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
2092 return (ahd_print_register(NULL, 0, "SAVED_LUN",
2093 0x13b, regvalue, cur_col, wrap));
2096 static const ahd_reg_parse_entry_t LASTPHASE_parse_table[] = {
2097 { "P_DATAOUT", 0x00, 0xe0 },
2098 { "P_DATAOUT_DT", 0x20, 0xe0 },
2099 { "P_DATAIN", 0x40, 0xe0 },
2100 { "P_DATAIN_DT", 0x60, 0xe0 },
2101 { "P_COMMAND", 0x80, 0xe0 },
2102 { "P_MESGOUT", 0xa0, 0xe0 },
2103 { "P_STATUS", 0xc0, 0xe0 },
2104 { "P_MESGIN", 0xe0, 0xe0 },
2105 { "P_BUSFREE", 0x01, 0x01 },
2106 { "MSGI", 0x20, 0x20 },
2107 { "IOI", 0x40, 0x40 },
2108 { "CDI", 0x80, 0x80 },
2109 { "PHASE_MASK", 0xe0, 0xe0 }
2113 ahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
2115 return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE",
2116 0x13c, regvalue, cur_col, wrap));
2120 ahd_qoutfifo_entry_valid_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
2122 return (ahd_print_register(NULL, 0, "QOUTFIFO_ENTRY_VALID_TAG",
2123 0x13d, regvalue, cur_col, wrap));
2127 ahd_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
2129 return (ahd_print_register(NULL, 0, "KERNEL_TQINPOS",
2130 0x13e, regvalue, cur_col, wrap));
2134 ahd_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
2136 return (ahd_print_register(NULL, 0, "TQINPOS",
2137 0x13f, regvalue, cur_col, wrap));
2141 ahd_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2143 return (ahd_print_register(NULL, 0, "SHARED_DATA_ADDR",
2144 0x140, regvalue, cur_col, wrap));
2148 ahd_qoutfifo_next_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2150 return (ahd_print_register(NULL, 0, "QOUTFIFO_NEXT_ADDR",
2151 0x144, regvalue, cur_col, wrap));
2154 static const ahd_reg_parse_entry_t ARG_1_parse_table[] = {
2155 { "CONT_MSG_LOOP_TARG", 0x02, 0x02 },
2156 { "CONT_MSG_LOOP_READ", 0x03, 0x03 },
2157 { "CONT_MSG_LOOP_WRITE",0x04, 0x04 },
2158 { "EXIT_MSG_LOOP", 0x08, 0x08 },
2159 { "MSGOUT_PHASEMIS", 0x10, 0x10 },
2160 { "SEND_REJ", 0x20, 0x20 },
2161 { "SEND_SENSE", 0x40, 0x40 },
2162 { "SEND_MSG", 0x80, 0x80 }
2166 ahd_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
2168 return (ahd_print_register(ARG_1_parse_table, 8, "ARG_1",
2169 0x148, regvalue, cur_col, wrap));
2173 ahd_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
2175 return (ahd_print_register(NULL, 0, "ARG_2",
2176 0x149, regvalue, cur_col, wrap));
2180 ahd_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
2182 return (ahd_print_register(NULL, 0, "LAST_MSG",
2183 0x14a, regvalue, cur_col, wrap));
2186 static const ahd_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
2187 { "ALTSTIM", 0x01, 0x01 },
2188 { "ENAUTOATNP", 0x02, 0x02 },
2189 { "MANUALP", 0x0c, 0x0c },
2190 { "ENRSELI", 0x10, 0x10 },
2191 { "ENSELI", 0x20, 0x20 },
2192 { "MANUALCTL", 0x40, 0x40 }
2196 ahd_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
2198 return (ahd_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
2199 0x14b, regvalue, cur_col, wrap));
2203 ahd_initiator_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
2205 return (ahd_print_register(NULL, 0, "INITIATOR_TAG",
2206 0x14c, regvalue, cur_col, wrap));
2209 static const ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
2210 { "PENDING_MK_MESSAGE", 0x01, 0x01 },
2211 { "TARGET_MSG_PENDING", 0x02, 0x02 },
2212 { "SELECTOUT_QFROZEN", 0x04, 0x04 }
2216 ahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
2218 return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2",
2219 0x14d, regvalue, cur_col, wrap));
2223 ahd_allocfifo_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2225 return (ahd_print_register(NULL, 0, "ALLOCFIFO_SCBPTR",
2226 0x14e, regvalue, cur_col, wrap));
2230 ahd_int_coalescing_timer_print(u_int regvalue, u_int *cur_col, u_int wrap)
2232 return (ahd_print_register(NULL, 0, "INT_COALESCING_TIMER",
2233 0x150, regvalue, cur_col, wrap));
2237 ahd_int_coalescing_maxcmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
2239 return (ahd_print_register(NULL, 0, "INT_COALESCING_MAXCMDS",
2240 0x152, regvalue, cur_col, wrap));
2244 ahd_int_coalescing_mincmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
2246 return (ahd_print_register(NULL, 0, "INT_COALESCING_MINCMDS",
2247 0x153, regvalue, cur_col, wrap));
2251 ahd_cmds_pending_print(u_int regvalue, u_int *cur_col, u_int wrap)
2253 return (ahd_print_register(NULL, 0, "CMDS_PENDING",
2254 0x154, regvalue, cur_col, wrap));
2258 ahd_int_coalescing_cmdcount_print(u_int regvalue, u_int *cur_col, u_int wrap)
2260 return (ahd_print_register(NULL, 0, "INT_COALESCING_CMDCOUNT",
2261 0x156, regvalue, cur_col, wrap));
2265 ahd_local_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
2267 return (ahd_print_register(NULL, 0, "LOCAL_HS_MAILBOX",
2268 0x157, regvalue, cur_col, wrap));
2272 ahd_cmdsize_table_print(u_int regvalue, u_int *cur_col, u_int wrap)
2274 return (ahd_print_register(NULL, 0, "CMDSIZE_TABLE",
2275 0x158, regvalue, cur_col, wrap));
2279 ahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
2281 return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB",
2282 0x160, regvalue, cur_col, wrap));
2286 ahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
2288 return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID",
2289 0x162, regvalue, cur_col, wrap));
2293 ahd_scb_residual_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
2295 return (ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT",
2296 0x180, regvalue, cur_col, wrap));
2300 ahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
2302 return (ahd_print_register(NULL, 0, "SCB_BASE",
2303 0x180, regvalue, cur_col, wrap));
2306 static const ahd_reg_parse_entry_t SCB_RESIDUAL_SGPTR_parse_table[] = {
2307 { "SG_LIST_NULL", 0x01, 0x01 },
2308 { "SG_OVERRUN_RESID", 0x02, 0x02 },
2309 { "SG_ADDR_MASK", 0xf8, 0xf8 }
2313 ahd_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2315 return (ahd_print_register(SCB_RESIDUAL_SGPTR_parse_table, 3, "SCB_RESIDUAL_SGPTR",
2316 0x184, regvalue, cur_col, wrap));
2320 ahd_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
2322 return (ahd_print_register(NULL, 0, "SCB_SCSI_STATUS",
2323 0x188, regvalue, cur_col, wrap));
2327 ahd_scb_sense_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2329 return (ahd_print_register(NULL, 0, "SCB_SENSE_BUSADDR",
2330 0x18c, regvalue, cur_col, wrap));
2334 ahd_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
2336 return (ahd_print_register(NULL, 0, "SCB_TAG",
2337 0x190, regvalue, cur_col, wrap));
2340 static const ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
2341 { "SCB_TAG_TYPE", 0x03, 0x03 },
2342 { "DISCONNECTED", 0x04, 0x04 },
2343 { "STATUS_RCVD", 0x08, 0x08 },
2344 { "MK_MESSAGE", 0x10, 0x10 },
2345 { "TAG_ENB", 0x20, 0x20 },
2346 { "DISCENB", 0x40, 0x40 },
2347 { "TARGET_SCB", 0x80, 0x80 }
2351 ahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
2353 return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL",
2354 0x192, regvalue, cur_col, wrap));
2357 static const ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
2358 { "OID", 0x0f, 0x0f },
2359 { "TID", 0xf0, 0xf0 }
2363 ahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
2365 return (ahd_print_register(SCB_SCSIID_parse_table, 2, "SCB_SCSIID",
2366 0x193, regvalue, cur_col, wrap));
2369 static const ahd_reg_parse_entry_t SCB_LUN_parse_table[] = {
2370 { "LID", 0xff, 0xff }
2374 ahd_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
2376 return (ahd_print_register(SCB_LUN_parse_table, 1, "SCB_LUN",
2377 0x194, regvalue, cur_col, wrap));
2380 static const ahd_reg_parse_entry_t SCB_TASK_ATTRIBUTE_parse_table[] = {
2381 { "SCB_XFERLEN_ODD", 0x01, 0x01 }
2385 ahd_scb_task_attribute_print(u_int regvalue, u_int *cur_col, u_int wrap)
2387 return (ahd_print_register(SCB_TASK_ATTRIBUTE_parse_table, 1, "SCB_TASK_ATTRIBUTE",
2388 0x195, regvalue, cur_col, wrap));
2391 static const ahd_reg_parse_entry_t SCB_CDB_LEN_parse_table[] = {
2392 { "SCB_CDB_LEN_PTR", 0x80, 0x80 }
2396 ahd_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
2398 return (ahd_print_register(SCB_CDB_LEN_parse_table, 1, "SCB_CDB_LEN",
2399 0x196, regvalue, cur_col, wrap));
2403 ahd_scb_task_management_print(u_int regvalue, u_int *cur_col, u_int wrap)
2405 return (ahd_print_register(NULL, 0, "SCB_TASK_MANAGEMENT",
2406 0x197, regvalue, cur_col, wrap));
2410 ahd_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2412 return (ahd_print_register(NULL, 0, "SCB_DATAPTR",
2413 0x198, regvalue, cur_col, wrap));
2416 static const ahd_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
2417 { "SG_HIGH_ADDR_BITS", 0x7f, 0x7f },
2418 { "SG_LAST_SEG", 0x80, 0x80 }
2422 ahd_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
2424 return (ahd_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
2425 0x1a0, regvalue, cur_col, wrap));
2428 static const ahd_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
2429 { "SG_LIST_NULL", 0x01, 0x01 },
2430 { "SG_FULL_RESID", 0x02, 0x02 },
2431 { "SG_STATUS_VALID", 0x04, 0x04 }
2435 ahd_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2437 return (ahd_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
2438 0x1a4, regvalue, cur_col, wrap));
2442 ahd_scb_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
2444 return (ahd_print_register(NULL, 0, "SCB_BUSADDR",
2445 0x1a8, regvalue, cur_col, wrap));
2449 ahd_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
2451 return (ahd_print_register(NULL, 0, "SCB_NEXT",
2452 0x1ac, regvalue, cur_col, wrap));
2456 ahd_scb_next2_print(u_int regvalue, u_int *cur_col, u_int wrap)
2458 return (ahd_print_register(NULL, 0, "SCB_NEXT2",
2459 0x1ae, regvalue, cur_col, wrap));
2463 ahd_scb_disconnected_lists_print(u_int regvalue, u_int *cur_col, u_int wrap)
2465 return (ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS",
2466 0x1b8, regvalue, cur_col, wrap));