xref: /OK3568_Linux_fs/kernel/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * DO NOT EDIT - This file is automatically generated
3*4882a593Smuzhiyun *		 from the following source files:
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
6*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#include "aic79xx_osm.h"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t INTSTAT_parse_table[] = {
12*4882a593Smuzhiyun	{ "SPLTINT",		0x01, 0x01 },
13*4882a593Smuzhiyun	{ "CMDCMPLT",		0x02, 0x02 },
14*4882a593Smuzhiyun	{ "SEQINT",		0x04, 0x04 },
15*4882a593Smuzhiyun	{ "SCSIINT",		0x08, 0x08 },
16*4882a593Smuzhiyun	{ "PCIINT",		0x10, 0x10 },
17*4882a593Smuzhiyun	{ "SWTMINT",		0x20, 0x20 },
18*4882a593Smuzhiyun	{ "BRKADRINT",		0x40, 0x40 },
19*4882a593Smuzhiyun	{ "HWERRINT",		0x80, 0x80 },
20*4882a593Smuzhiyun	{ "INT_PEND",		0xff, 0xff }
21*4882a593Smuzhiyun};
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunint
24*4882a593Smuzhiyunahd_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
25*4882a593Smuzhiyun{
26*4882a593Smuzhiyun	return (ahd_print_register(INTSTAT_parse_table, 9, "INTSTAT",
27*4882a593Smuzhiyun	    0x01, regvalue, cur_col, wrap));
28*4882a593Smuzhiyun}
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
31*4882a593Smuzhiyun	{ "ENINT_COALESCE",	0x40, 0x40 },
32*4882a593Smuzhiyun	{ "HOST_TQINPOS",	0x80, 0x80 }
33*4882a593Smuzhiyun};
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunint
36*4882a593Smuzhiyunahd_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
37*4882a593Smuzhiyun{
38*4882a593Smuzhiyun	return (ahd_print_register(HS_MAILBOX_parse_table, 2, "HS_MAILBOX",
39*4882a593Smuzhiyun	    0x0b, regvalue, cur_col, wrap));
40*4882a593Smuzhiyun}
41*4882a593Smuzhiyun
42*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQINTSTAT_parse_table[] = {
43*4882a593Smuzhiyun	{ "SEQ_SPLTINT",	0x01, 0x01 },
44*4882a593Smuzhiyun	{ "SEQ_PCIINT",		0x02, 0x02 },
45*4882a593Smuzhiyun	{ "SEQ_SCSIINT",	0x04, 0x04 },
46*4882a593Smuzhiyun	{ "SEQ_SEQINT",		0x08, 0x08 },
47*4882a593Smuzhiyun	{ "SEQ_SWTMRTO",	0x10, 0x10 }
48*4882a593Smuzhiyun};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunint
51*4882a593Smuzhiyunahd_seqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
52*4882a593Smuzhiyun{
53*4882a593Smuzhiyun	return (ahd_print_register(SEQINTSTAT_parse_table, 5, "SEQINTSTAT",
54*4882a593Smuzhiyun	    0x0c, regvalue, cur_col, wrap));
55*4882a593Smuzhiyun}
56*4882a593Smuzhiyun
57*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t INTCTL_parse_table[] = {
58*4882a593Smuzhiyun	{ "SPLTINTEN",		0x01, 0x01 },
59*4882a593Smuzhiyun	{ "SEQINTEN",		0x02, 0x02 },
60*4882a593Smuzhiyun	{ "SCSIINTEN",		0x04, 0x04 },
61*4882a593Smuzhiyun	{ "PCIINTEN",		0x08, 0x08 },
62*4882a593Smuzhiyun	{ "AUTOCLRCMDINT",	0x10, 0x10 },
63*4882a593Smuzhiyun	{ "SWTIMER_START",	0x20, 0x20 },
64*4882a593Smuzhiyun	{ "SWTMINTEN",		0x40, 0x40 },
65*4882a593Smuzhiyun	{ "SWTMINTMASK",	0x80, 0x80 }
66*4882a593Smuzhiyun};
67*4882a593Smuzhiyun
68*4882a593Smuzhiyunint
69*4882a593Smuzhiyunahd_intctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
70*4882a593Smuzhiyun{
71*4882a593Smuzhiyun	return (ahd_print_register(INTCTL_parse_table, 8, "INTCTL",
72*4882a593Smuzhiyun	    0x18, regvalue, cur_col, wrap));
73*4882a593Smuzhiyun}
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t DFCNTRL_parse_table[] = {
76*4882a593Smuzhiyun	{ "DIRECTIONEN",	0x01, 0x01 },
77*4882a593Smuzhiyun	{ "FIFOFLUSH",		0x02, 0x02 },
78*4882a593Smuzhiyun	{ "FIFOFLUSHACK",	0x02, 0x02 },
79*4882a593Smuzhiyun	{ "DIRECTION",		0x04, 0x04 },
80*4882a593Smuzhiyun	{ "DIRECTIONACK",	0x04, 0x04 },
81*4882a593Smuzhiyun	{ "HDMAEN",		0x08, 0x08 },
82*4882a593Smuzhiyun	{ "HDMAENACK",		0x08, 0x08 },
83*4882a593Smuzhiyun	{ "SCSIEN",		0x20, 0x20 },
84*4882a593Smuzhiyun	{ "SCSIENACK",		0x20, 0x20 },
85*4882a593Smuzhiyun	{ "SCSIENWRDIS",	0x40, 0x40 },
86*4882a593Smuzhiyun	{ "PRELOADEN",		0x80, 0x80 }
87*4882a593Smuzhiyun};
88*4882a593Smuzhiyun
89*4882a593Smuzhiyunint
90*4882a593Smuzhiyunahd_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
91*4882a593Smuzhiyun{
92*4882a593Smuzhiyun	return (ahd_print_register(DFCNTRL_parse_table, 11, "DFCNTRL",
93*4882a593Smuzhiyun	    0x19, regvalue, cur_col, wrap));
94*4882a593Smuzhiyun}
95*4882a593Smuzhiyun
96*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t DFSTATUS_parse_table[] = {
97*4882a593Smuzhiyun	{ "FIFOEMP",		0x01, 0x01 },
98*4882a593Smuzhiyun	{ "FIFOFULL",		0x02, 0x02 },
99*4882a593Smuzhiyun	{ "DFTHRESH",		0x04, 0x04 },
100*4882a593Smuzhiyun	{ "HDONE",		0x08, 0x08 },
101*4882a593Smuzhiyun	{ "MREQPEND",		0x10, 0x10 },
102*4882a593Smuzhiyun	{ "PKT_PRELOAD_AVAIL",	0x40, 0x40 },
103*4882a593Smuzhiyun	{ "PRELOAD_AVAIL",	0x80, 0x80 }
104*4882a593Smuzhiyun};
105*4882a593Smuzhiyun
106*4882a593Smuzhiyunint
107*4882a593Smuzhiyunahd_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
108*4882a593Smuzhiyun{
109*4882a593Smuzhiyun	return (ahd_print_register(DFSTATUS_parse_table, 7, "DFSTATUS",
110*4882a593Smuzhiyun	    0x1a, regvalue, cur_col, wrap));
111*4882a593Smuzhiyun}
112*4882a593Smuzhiyun
113*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
114*4882a593Smuzhiyun	{ "LAST_SEG_DONE",	0x01, 0x01 },
115*4882a593Smuzhiyun	{ "LAST_SEG",		0x02, 0x02 },
116*4882a593Smuzhiyun	{ "ODD_SEG",		0x04, 0x04 },
117*4882a593Smuzhiyun	{ "SG_ADDR_MASK",	0xf8, 0xf8 }
118*4882a593Smuzhiyun};
119*4882a593Smuzhiyun
120*4882a593Smuzhiyunint
121*4882a593Smuzhiyunahd_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
122*4882a593Smuzhiyun{
123*4882a593Smuzhiyun	return (ahd_print_register(SG_CACHE_SHADOW_parse_table, 4, "SG_CACHE_SHADOW",
124*4882a593Smuzhiyun	    0x1b, regvalue, cur_col, wrap));
125*4882a593Smuzhiyun}
126*4882a593Smuzhiyun
127*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCSISEQ0_parse_table[] = {
128*4882a593Smuzhiyun	{ "SCSIRSTO",		0x01, 0x01 },
129*4882a593Smuzhiyun	{ "FORCEBUSFREE",	0x10, 0x10 },
130*4882a593Smuzhiyun	{ "ENARBO",		0x20, 0x20 },
131*4882a593Smuzhiyun	{ "ENSELO",		0x40, 0x40 },
132*4882a593Smuzhiyun	{ "TEMODEO",		0x80, 0x80 }
133*4882a593Smuzhiyun};
134*4882a593Smuzhiyun
135*4882a593Smuzhiyunint
136*4882a593Smuzhiyunahd_scsiseq0_print(u_int regvalue, u_int *cur_col, u_int wrap)
137*4882a593Smuzhiyun{
138*4882a593Smuzhiyun	return (ahd_print_register(SCSISEQ0_parse_table, 5, "SCSISEQ0",
139*4882a593Smuzhiyun	    0x3a, regvalue, cur_col, wrap));
140*4882a593Smuzhiyun}
141*4882a593Smuzhiyun
142*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCSISEQ1_parse_table[] = {
143*4882a593Smuzhiyun	{ "ALTSTIM",		0x01, 0x01 },
144*4882a593Smuzhiyun	{ "ENAUTOATNP",		0x02, 0x02 },
145*4882a593Smuzhiyun	{ "MANUALP",		0x0c, 0x0c },
146*4882a593Smuzhiyun	{ "ENRSELI",		0x10, 0x10 },
147*4882a593Smuzhiyun	{ "ENSELI",		0x20, 0x20 },
148*4882a593Smuzhiyun	{ "MANUALCTL",		0x40, 0x40 }
149*4882a593Smuzhiyun};
150*4882a593Smuzhiyun
151*4882a593Smuzhiyunint
152*4882a593Smuzhiyunahd_scsiseq1_print(u_int regvalue, u_int *cur_col, u_int wrap)
153*4882a593Smuzhiyun{
154*4882a593Smuzhiyun	return (ahd_print_register(SCSISEQ1_parse_table, 6, "SCSISEQ1",
155*4882a593Smuzhiyun	    0x3b, regvalue, cur_col, wrap));
156*4882a593Smuzhiyun}
157*4882a593Smuzhiyun
158*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t DFFSTAT_parse_table[] = {
159*4882a593Smuzhiyun	{ "CURRFIFO_0",		0x00, 0x03 },
160*4882a593Smuzhiyun	{ "CURRFIFO_1",		0x01, 0x03 },
161*4882a593Smuzhiyun	{ "CURRFIFO_NONE",	0x03, 0x03 },
162*4882a593Smuzhiyun	{ "FIFO0FREE",		0x10, 0x10 },
163*4882a593Smuzhiyun	{ "FIFO1FREE",		0x20, 0x20 },
164*4882a593Smuzhiyun	{ "CURRFIFO",		0x03, 0x03 }
165*4882a593Smuzhiyun};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyunint
168*4882a593Smuzhiyunahd_dffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
169*4882a593Smuzhiyun{
170*4882a593Smuzhiyun	return (ahd_print_register(DFFSTAT_parse_table, 6, "DFFSTAT",
171*4882a593Smuzhiyun	    0x3f, regvalue, cur_col, wrap));
172*4882a593Smuzhiyun}
173*4882a593Smuzhiyun
174*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCSISIGI_parse_table[] = {
175*4882a593Smuzhiyun	{ "P_DATAOUT",		0x00, 0xe0 },
176*4882a593Smuzhiyun	{ "P_DATAOUT_DT",	0x20, 0xe0 },
177*4882a593Smuzhiyun	{ "P_DATAIN",		0x40, 0xe0 },
178*4882a593Smuzhiyun	{ "P_DATAIN_DT",	0x60, 0xe0 },
179*4882a593Smuzhiyun	{ "P_COMMAND",		0x80, 0xe0 },
180*4882a593Smuzhiyun	{ "P_MESGOUT",		0xa0, 0xe0 },
181*4882a593Smuzhiyun	{ "P_STATUS",		0xc0, 0xe0 },
182*4882a593Smuzhiyun	{ "P_MESGIN",		0xe0, 0xe0 },
183*4882a593Smuzhiyun	{ "ACKI",		0x01, 0x01 },
184*4882a593Smuzhiyun	{ "REQI",		0x02, 0x02 },
185*4882a593Smuzhiyun	{ "BSYI",		0x04, 0x04 },
186*4882a593Smuzhiyun	{ "SELI",		0x08, 0x08 },
187*4882a593Smuzhiyun	{ "ATNI",		0x10, 0x10 },
188*4882a593Smuzhiyun	{ "MSGI",		0x20, 0x20 },
189*4882a593Smuzhiyun	{ "IOI",		0x40, 0x40 },
190*4882a593Smuzhiyun	{ "CDI",		0x80, 0x80 },
191*4882a593Smuzhiyun	{ "PHASE_MASK",		0xe0, 0xe0 }
192*4882a593Smuzhiyun};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyunint
195*4882a593Smuzhiyunahd_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
196*4882a593Smuzhiyun{
197*4882a593Smuzhiyun	return (ahd_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
198*4882a593Smuzhiyun	    0x41, regvalue, cur_col, wrap));
199*4882a593Smuzhiyun}
200*4882a593Smuzhiyun
201*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCSIPHASE_parse_table[] = {
202*4882a593Smuzhiyun	{ "DATA_OUT_PHASE",	0x01, 0x03 },
203*4882a593Smuzhiyun	{ "DATA_IN_PHASE",	0x02, 0x03 },
204*4882a593Smuzhiyun	{ "DATA_PHASE_MASK",	0x03, 0x03 },
205*4882a593Smuzhiyun	{ "MSG_OUT_PHASE",	0x04, 0x04 },
206*4882a593Smuzhiyun	{ "MSG_IN_PHASE",	0x08, 0x08 },
207*4882a593Smuzhiyun	{ "COMMAND_PHASE",	0x10, 0x10 },
208*4882a593Smuzhiyun	{ "STATUS_PHASE",	0x20, 0x20 }
209*4882a593Smuzhiyun};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyunint
212*4882a593Smuzhiyunahd_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
213*4882a593Smuzhiyun{
214*4882a593Smuzhiyun	return (ahd_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
215*4882a593Smuzhiyun	    0x42, regvalue, cur_col, wrap));
216*4882a593Smuzhiyun}
217*4882a593Smuzhiyun
218*4882a593Smuzhiyunint
219*4882a593Smuzhiyunahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap)
220*4882a593Smuzhiyun{
221*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SCSIBUS",
222*4882a593Smuzhiyun	    0x46, regvalue, cur_col, wrap));
223*4882a593Smuzhiyun}
224*4882a593Smuzhiyun
225*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SELID_parse_table[] = {
226*4882a593Smuzhiyun	{ "ONEBIT",		0x08, 0x08 },
227*4882a593Smuzhiyun	{ "SELID_MASK",		0xf0, 0xf0 }
228*4882a593Smuzhiyun};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyunint
231*4882a593Smuzhiyunahd_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
232*4882a593Smuzhiyun{
233*4882a593Smuzhiyun	return (ahd_print_register(SELID_parse_table, 2, "SELID",
234*4882a593Smuzhiyun	    0x49, regvalue, cur_col, wrap));
235*4882a593Smuzhiyun}
236*4882a593Smuzhiyun
237*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SIMODE0_parse_table[] = {
238*4882a593Smuzhiyun	{ "ENARBDO",		0x01, 0x01 },
239*4882a593Smuzhiyun	{ "ENSPIORDY",		0x02, 0x02 },
240*4882a593Smuzhiyun	{ "ENOVERRUN",		0x04, 0x04 },
241*4882a593Smuzhiyun	{ "ENIOERR",		0x08, 0x08 },
242*4882a593Smuzhiyun	{ "ENSELINGO",		0x10, 0x10 },
243*4882a593Smuzhiyun	{ "ENSELDI",		0x20, 0x20 },
244*4882a593Smuzhiyun	{ "ENSELDO",		0x40, 0x40 }
245*4882a593Smuzhiyun};
246*4882a593Smuzhiyun
247*4882a593Smuzhiyunint
248*4882a593Smuzhiyunahd_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
249*4882a593Smuzhiyun{
250*4882a593Smuzhiyun	return (ahd_print_register(SIMODE0_parse_table, 7, "SIMODE0",
251*4882a593Smuzhiyun	    0x4b, regvalue, cur_col, wrap));
252*4882a593Smuzhiyun}
253*4882a593Smuzhiyun
254*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SSTAT0_parse_table[] = {
255*4882a593Smuzhiyun	{ "ARBDO",		0x01, 0x01 },
256*4882a593Smuzhiyun	{ "SPIORDY",		0x02, 0x02 },
257*4882a593Smuzhiyun	{ "OVERRUN",		0x04, 0x04 },
258*4882a593Smuzhiyun	{ "IOERR",		0x08, 0x08 },
259*4882a593Smuzhiyun	{ "SELINGO",		0x10, 0x10 },
260*4882a593Smuzhiyun	{ "SELDI",		0x20, 0x20 },
261*4882a593Smuzhiyun	{ "SELDO",		0x40, 0x40 },
262*4882a593Smuzhiyun	{ "TARGET",		0x80, 0x80 }
263*4882a593Smuzhiyun};
264*4882a593Smuzhiyun
265*4882a593Smuzhiyunint
266*4882a593Smuzhiyunahd_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
267*4882a593Smuzhiyun{
268*4882a593Smuzhiyun	return (ahd_print_register(SSTAT0_parse_table, 8, "SSTAT0",
269*4882a593Smuzhiyun	    0x4b, regvalue, cur_col, wrap));
270*4882a593Smuzhiyun}
271*4882a593Smuzhiyun
272*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SSTAT1_parse_table[] = {
273*4882a593Smuzhiyun	{ "REQINIT",		0x01, 0x01 },
274*4882a593Smuzhiyun	{ "STRB2FAST",		0x02, 0x02 },
275*4882a593Smuzhiyun	{ "SCSIPERR",		0x04, 0x04 },
276*4882a593Smuzhiyun	{ "BUSFREE",		0x08, 0x08 },
277*4882a593Smuzhiyun	{ "PHASEMIS",		0x10, 0x10 },
278*4882a593Smuzhiyun	{ "SCSIRSTI",		0x20, 0x20 },
279*4882a593Smuzhiyun	{ "ATNTARG",		0x40, 0x40 },
280*4882a593Smuzhiyun	{ "SELTO",		0x80, 0x80 }
281*4882a593Smuzhiyun};
282*4882a593Smuzhiyun
283*4882a593Smuzhiyunint
284*4882a593Smuzhiyunahd_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
285*4882a593Smuzhiyun{
286*4882a593Smuzhiyun	return (ahd_print_register(SSTAT1_parse_table, 8, "SSTAT1",
287*4882a593Smuzhiyun	    0x4c, regvalue, cur_col, wrap));
288*4882a593Smuzhiyun}
289*4882a593Smuzhiyun
290*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SSTAT2_parse_table[] = {
291*4882a593Smuzhiyun	{ "BUSFREE_LQO",	0x40, 0xc0 },
292*4882a593Smuzhiyun	{ "BUSFREE_DFF0",	0x80, 0xc0 },
293*4882a593Smuzhiyun	{ "BUSFREE_DFF1",	0xc0, 0xc0 },
294*4882a593Smuzhiyun	{ "DMADONE",		0x01, 0x01 },
295*4882a593Smuzhiyun	{ "SDONE",		0x02, 0x02 },
296*4882a593Smuzhiyun	{ "WIDE_RES",		0x04, 0x04 },
297*4882a593Smuzhiyun	{ "BSYX",		0x08, 0x08 },
298*4882a593Smuzhiyun	{ "EXP_ACTIVE",		0x10, 0x10 },
299*4882a593Smuzhiyun	{ "NONPACKREQ",		0x20, 0x20 },
300*4882a593Smuzhiyun	{ "BUSFREETIME",	0xc0, 0xc0 }
301*4882a593Smuzhiyun};
302*4882a593Smuzhiyun
303*4882a593Smuzhiyunint
304*4882a593Smuzhiyunahd_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
305*4882a593Smuzhiyun{
306*4882a593Smuzhiyun	return (ahd_print_register(SSTAT2_parse_table, 10, "SSTAT2",
307*4882a593Smuzhiyun	    0x4d, regvalue, cur_col, wrap));
308*4882a593Smuzhiyun}
309*4882a593Smuzhiyun
310*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t PERRDIAG_parse_table[] = {
311*4882a593Smuzhiyun	{ "DTERR",		0x01, 0x01 },
312*4882a593Smuzhiyun	{ "DGFORMERR",		0x02, 0x02 },
313*4882a593Smuzhiyun	{ "CRCERR",		0x04, 0x04 },
314*4882a593Smuzhiyun	{ "AIPERR",		0x08, 0x08 },
315*4882a593Smuzhiyun	{ "PARITYERR",		0x10, 0x10 },
316*4882a593Smuzhiyun	{ "PREVPHASE",		0x20, 0x20 },
317*4882a593Smuzhiyun	{ "HIPERR",		0x40, 0x40 },
318*4882a593Smuzhiyun	{ "HIZERO",		0x80, 0x80 }
319*4882a593Smuzhiyun};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyunint
322*4882a593Smuzhiyunahd_perrdiag_print(u_int regvalue, u_int *cur_col, u_int wrap)
323*4882a593Smuzhiyun{
324*4882a593Smuzhiyun	return (ahd_print_register(PERRDIAG_parse_table, 8, "PERRDIAG",
325*4882a593Smuzhiyun	    0x4e, regvalue, cur_col, wrap));
326*4882a593Smuzhiyun}
327*4882a593Smuzhiyun
328*4882a593Smuzhiyunint
329*4882a593Smuzhiyunahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
330*4882a593Smuzhiyun{
331*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SOFFCNT",
332*4882a593Smuzhiyun	    0x4f, regvalue, cur_col, wrap));
333*4882a593Smuzhiyun}
334*4882a593Smuzhiyun
335*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQISTAT0_parse_table[] = {
336*4882a593Smuzhiyun	{ "LQIATNCMD",		0x01, 0x01 },
337*4882a593Smuzhiyun	{ "LQIATNLQ",		0x02, 0x02 },
338*4882a593Smuzhiyun	{ "LQIBADLQT",		0x04, 0x04 },
339*4882a593Smuzhiyun	{ "LQICRCT2",		0x08, 0x08 },
340*4882a593Smuzhiyun	{ "LQICRCT1",		0x10, 0x10 },
341*4882a593Smuzhiyun	{ "LQIATNQAS",		0x20, 0x20 }
342*4882a593Smuzhiyun};
343*4882a593Smuzhiyun
344*4882a593Smuzhiyunint
345*4882a593Smuzhiyunahd_lqistat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
346*4882a593Smuzhiyun{
347*4882a593Smuzhiyun	return (ahd_print_register(LQISTAT0_parse_table, 6, "LQISTAT0",
348*4882a593Smuzhiyun	    0x50, regvalue, cur_col, wrap));
349*4882a593Smuzhiyun}
350*4882a593Smuzhiyun
351*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQISTAT1_parse_table[] = {
352*4882a593Smuzhiyun	{ "LQIOVERI_NLQ",	0x01, 0x01 },
353*4882a593Smuzhiyun	{ "LQIOVERI_LQ",	0x02, 0x02 },
354*4882a593Smuzhiyun	{ "LQIBADLQI",		0x04, 0x04 },
355*4882a593Smuzhiyun	{ "LQICRCI_NLQ",	0x08, 0x08 },
356*4882a593Smuzhiyun	{ "LQICRCI_LQ",		0x10, 0x10 },
357*4882a593Smuzhiyun	{ "LQIABORT",		0x20, 0x20 },
358*4882a593Smuzhiyun	{ "LQIPHASE_NLQ",	0x40, 0x40 },
359*4882a593Smuzhiyun	{ "LQIPHASE_LQ",	0x80, 0x80 }
360*4882a593Smuzhiyun};
361*4882a593Smuzhiyun
362*4882a593Smuzhiyunint
363*4882a593Smuzhiyunahd_lqistat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
364*4882a593Smuzhiyun{
365*4882a593Smuzhiyun	return (ahd_print_register(LQISTAT1_parse_table, 8, "LQISTAT1",
366*4882a593Smuzhiyun	    0x51, regvalue, cur_col, wrap));
367*4882a593Smuzhiyun}
368*4882a593Smuzhiyun
369*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQISTAT2_parse_table[] = {
370*4882a593Smuzhiyun	{ "LQIGSAVAIL",		0x01, 0x01 },
371*4882a593Smuzhiyun	{ "LQISTOPCMD",		0x02, 0x02 },
372*4882a593Smuzhiyun	{ "LQISTOPLQ",		0x04, 0x04 },
373*4882a593Smuzhiyun	{ "LQISTOPPKT",		0x08, 0x08 },
374*4882a593Smuzhiyun	{ "LQIWAITFIFO",	0x10, 0x10 },
375*4882a593Smuzhiyun	{ "LQIWORKONLQ",	0x20, 0x20 },
376*4882a593Smuzhiyun	{ "LQIPHASE_OUTPKT",	0x40, 0x40 },
377*4882a593Smuzhiyun	{ "PACKETIZED",		0x80, 0x80 }
378*4882a593Smuzhiyun};
379*4882a593Smuzhiyun
380*4882a593Smuzhiyunint
381*4882a593Smuzhiyunahd_lqistat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
382*4882a593Smuzhiyun{
383*4882a593Smuzhiyun	return (ahd_print_register(LQISTAT2_parse_table, 8, "LQISTAT2",
384*4882a593Smuzhiyun	    0x52, regvalue, cur_col, wrap));
385*4882a593Smuzhiyun}
386*4882a593Smuzhiyun
387*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SSTAT3_parse_table[] = {
388*4882a593Smuzhiyun	{ "OSRAMPERR",		0x01, 0x01 },
389*4882a593Smuzhiyun	{ "NTRAMPERR",		0x02, 0x02 }
390*4882a593Smuzhiyun};
391*4882a593Smuzhiyun
392*4882a593Smuzhiyunint
393*4882a593Smuzhiyunahd_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
394*4882a593Smuzhiyun{
395*4882a593Smuzhiyun	return (ahd_print_register(SSTAT3_parse_table, 2, "SSTAT3",
396*4882a593Smuzhiyun	    0x53, regvalue, cur_col, wrap));
397*4882a593Smuzhiyun}
398*4882a593Smuzhiyun
399*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQOSTAT0_parse_table[] = {
400*4882a593Smuzhiyun	{ "LQOTCRC",		0x01, 0x01 },
401*4882a593Smuzhiyun	{ "LQOATNPKT",		0x02, 0x02 },
402*4882a593Smuzhiyun	{ "LQOATNLQ",		0x04, 0x04 },
403*4882a593Smuzhiyun	{ "LQOSTOPT2",		0x08, 0x08 },
404*4882a593Smuzhiyun	{ "LQOTARGSCBPERR",	0x10, 0x10 }
405*4882a593Smuzhiyun};
406*4882a593Smuzhiyun
407*4882a593Smuzhiyunint
408*4882a593Smuzhiyunahd_lqostat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
409*4882a593Smuzhiyun{
410*4882a593Smuzhiyun	return (ahd_print_register(LQOSTAT0_parse_table, 5, "LQOSTAT0",
411*4882a593Smuzhiyun	    0x54, regvalue, cur_col, wrap));
412*4882a593Smuzhiyun}
413*4882a593Smuzhiyun
414*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQOSTAT1_parse_table[] = {
415*4882a593Smuzhiyun	{ "LQOPHACHGINPKT",	0x01, 0x01 },
416*4882a593Smuzhiyun	{ "LQOBUSFREE",		0x02, 0x02 },
417*4882a593Smuzhiyun	{ "LQOBADQAS",		0x04, 0x04 },
418*4882a593Smuzhiyun	{ "LQOSTOPI2",		0x08, 0x08 },
419*4882a593Smuzhiyun	{ "LQOINITSCBPERR",	0x10, 0x10 }
420*4882a593Smuzhiyun};
421*4882a593Smuzhiyun
422*4882a593Smuzhiyunint
423*4882a593Smuzhiyunahd_lqostat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
424*4882a593Smuzhiyun{
425*4882a593Smuzhiyun	return (ahd_print_register(LQOSTAT1_parse_table, 5, "LQOSTAT1",
426*4882a593Smuzhiyun	    0x55, regvalue, cur_col, wrap));
427*4882a593Smuzhiyun}
428*4882a593Smuzhiyun
429*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LQOSTAT2_parse_table[] = {
430*4882a593Smuzhiyun	{ "LQOSTOP0",		0x01, 0x01 },
431*4882a593Smuzhiyun	{ "LQOPHACHGOUTPKT",	0x02, 0x02 },
432*4882a593Smuzhiyun	{ "LQOWAITFIFO",	0x10, 0x10 },
433*4882a593Smuzhiyun	{ "LQOPKT",		0xe0, 0xe0 }
434*4882a593Smuzhiyun};
435*4882a593Smuzhiyun
436*4882a593Smuzhiyunint
437*4882a593Smuzhiyunahd_lqostat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
438*4882a593Smuzhiyun{
439*4882a593Smuzhiyun	return (ahd_print_register(LQOSTAT2_parse_table, 4, "LQOSTAT2",
440*4882a593Smuzhiyun	    0x56, regvalue, cur_col, wrap));
441*4882a593Smuzhiyun}
442*4882a593Smuzhiyun
443*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SIMODE1_parse_table[] = {
444*4882a593Smuzhiyun	{ "ENREQINIT",		0x01, 0x01 },
445*4882a593Smuzhiyun	{ "ENSTRB2FAST",	0x02, 0x02 },
446*4882a593Smuzhiyun	{ "ENSCSIPERR",		0x04, 0x04 },
447*4882a593Smuzhiyun	{ "ENBUSFREE",		0x08, 0x08 },
448*4882a593Smuzhiyun	{ "ENPHASEMIS",		0x10, 0x10 },
449*4882a593Smuzhiyun	{ "ENSCSIRST",		0x20, 0x20 },
450*4882a593Smuzhiyun	{ "ENATNTARG",		0x40, 0x40 },
451*4882a593Smuzhiyun	{ "ENSELTIMO",		0x80, 0x80 }
452*4882a593Smuzhiyun};
453*4882a593Smuzhiyun
454*4882a593Smuzhiyunint
455*4882a593Smuzhiyunahd_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
456*4882a593Smuzhiyun{
457*4882a593Smuzhiyun	return (ahd_print_register(SIMODE1_parse_table, 8, "SIMODE1",
458*4882a593Smuzhiyun	    0x57, regvalue, cur_col, wrap));
459*4882a593Smuzhiyun}
460*4882a593Smuzhiyun
461*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t DFFSXFRCTL_parse_table[] = {
462*4882a593Smuzhiyun	{ "RSTCHN",		0x01, 0x01 },
463*4882a593Smuzhiyun	{ "CLRCHN",		0x02, 0x02 },
464*4882a593Smuzhiyun	{ "CLRSHCNT",		0x04, 0x04 },
465*4882a593Smuzhiyun	{ "DFFBITBUCKET",	0x08, 0x08 }
466*4882a593Smuzhiyun};
467*4882a593Smuzhiyun
468*4882a593Smuzhiyunint
469*4882a593Smuzhiyunahd_dffsxfrctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
470*4882a593Smuzhiyun{
471*4882a593Smuzhiyun	return (ahd_print_register(DFFSXFRCTL_parse_table, 4, "DFFSXFRCTL",
472*4882a593Smuzhiyun	    0x5a, regvalue, cur_col, wrap));
473*4882a593Smuzhiyun}
474*4882a593Smuzhiyun
475*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQINTSRC_parse_table[] = {
476*4882a593Smuzhiyun	{ "CFG4TCMD",		0x01, 0x01 },
477*4882a593Smuzhiyun	{ "CFG4ICMD",		0x02, 0x02 },
478*4882a593Smuzhiyun	{ "CFG4TSTAT",		0x04, 0x04 },
479*4882a593Smuzhiyun	{ "CFG4ISTAT",		0x08, 0x08 },
480*4882a593Smuzhiyun	{ "CFG4DATA",		0x10, 0x10 },
481*4882a593Smuzhiyun	{ "SAVEPTRS",		0x20, 0x20 },
482*4882a593Smuzhiyun	{ "CTXTDONE",		0x40, 0x40 }
483*4882a593Smuzhiyun};
484*4882a593Smuzhiyun
485*4882a593Smuzhiyunint
486*4882a593Smuzhiyunahd_seqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
487*4882a593Smuzhiyun{
488*4882a593Smuzhiyun	return (ahd_print_register(SEQINTSRC_parse_table, 7, "SEQINTSRC",
489*4882a593Smuzhiyun	    0x5b, regvalue, cur_col, wrap));
490*4882a593Smuzhiyun}
491*4882a593Smuzhiyun
492*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQIMODE_parse_table[] = {
493*4882a593Smuzhiyun	{ "ENCFG4TCMD",		0x01, 0x01 },
494*4882a593Smuzhiyun	{ "ENCFG4ICMD",		0x02, 0x02 },
495*4882a593Smuzhiyun	{ "ENCFG4TSTAT",	0x04, 0x04 },
496*4882a593Smuzhiyun	{ "ENCFG4ISTAT",	0x08, 0x08 },
497*4882a593Smuzhiyun	{ "ENCFG4DATA",		0x10, 0x10 },
498*4882a593Smuzhiyun	{ "ENSAVEPTRS",		0x20, 0x20 },
499*4882a593Smuzhiyun	{ "ENCTXTDONE",		0x40, 0x40 }
500*4882a593Smuzhiyun};
501*4882a593Smuzhiyun
502*4882a593Smuzhiyunint
503*4882a593Smuzhiyunahd_seqimode_print(u_int regvalue, u_int *cur_col, u_int wrap)
504*4882a593Smuzhiyun{
505*4882a593Smuzhiyun	return (ahd_print_register(SEQIMODE_parse_table, 7, "SEQIMODE",
506*4882a593Smuzhiyun	    0x5c, regvalue, cur_col, wrap));
507*4882a593Smuzhiyun}
508*4882a593Smuzhiyun
509*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t MDFFSTAT_parse_table[] = {
510*4882a593Smuzhiyun	{ "FIFOFREE",		0x01, 0x01 },
511*4882a593Smuzhiyun	{ "DATAINFIFO",		0x02, 0x02 },
512*4882a593Smuzhiyun	{ "DLZERO",		0x04, 0x04 },
513*4882a593Smuzhiyun	{ "SHVALID",		0x08, 0x08 },
514*4882a593Smuzhiyun	{ "LASTSDONE",		0x10, 0x10 },
515*4882a593Smuzhiyun	{ "SHCNTMINUS1",	0x20, 0x20 },
516*4882a593Smuzhiyun	{ "SHCNTNEGATIVE",	0x40, 0x40 }
517*4882a593Smuzhiyun};
518*4882a593Smuzhiyun
519*4882a593Smuzhiyunint
520*4882a593Smuzhiyunahd_mdffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
521*4882a593Smuzhiyun{
522*4882a593Smuzhiyun	return (ahd_print_register(MDFFSTAT_parse_table, 7, "MDFFSTAT",
523*4882a593Smuzhiyun	    0x5d, regvalue, cur_col, wrap));
524*4882a593Smuzhiyun}
525*4882a593Smuzhiyun
526*4882a593Smuzhiyunint
527*4882a593Smuzhiyunahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap)
528*4882a593Smuzhiyun{
529*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SELOID",
530*4882a593Smuzhiyun	    0x6b, regvalue, cur_col, wrap));
531*4882a593Smuzhiyun}
532*4882a593Smuzhiyun
533*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SG_STATE_parse_table[] = {
534*4882a593Smuzhiyun	{ "SEGS_AVAIL",		0x01, 0x01 },
535*4882a593Smuzhiyun	{ "LOADING_NEEDED",	0x02, 0x02 },
536*4882a593Smuzhiyun	{ "FETCH_INPROG",	0x04, 0x04 }
537*4882a593Smuzhiyun};
538*4882a593Smuzhiyun
539*4882a593Smuzhiyunint
540*4882a593Smuzhiyunahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap)
541*4882a593Smuzhiyun{
542*4882a593Smuzhiyun	return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE",
543*4882a593Smuzhiyun	    0xa6, regvalue, cur_col, wrap));
544*4882a593Smuzhiyun}
545*4882a593Smuzhiyun
546*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = {
547*4882a593Smuzhiyun	{ "CCSCBRESET",		0x01, 0x01 },
548*4882a593Smuzhiyun	{ "CCSCBDIR",		0x04, 0x04 },
549*4882a593Smuzhiyun	{ "CCSCBEN",		0x08, 0x08 },
550*4882a593Smuzhiyun	{ "CCARREN",		0x10, 0x10 },
551*4882a593Smuzhiyun	{ "ARRDONE",		0x40, 0x40 },
552*4882a593Smuzhiyun	{ "CCSCBDONE",		0x80, 0x80 }
553*4882a593Smuzhiyun};
554*4882a593Smuzhiyun
555*4882a593Smuzhiyunint
556*4882a593Smuzhiyunahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
557*4882a593Smuzhiyun{
558*4882a593Smuzhiyun	return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
559*4882a593Smuzhiyun	    0xad, regvalue, cur_col, wrap));
560*4882a593Smuzhiyun}
561*4882a593Smuzhiyun
562*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t CCSGCTL_parse_table[] = {
563*4882a593Smuzhiyun	{ "CCSGRESET",		0x01, 0x01 },
564*4882a593Smuzhiyun	{ "SG_FETCH_REQ",	0x02, 0x02 },
565*4882a593Smuzhiyun	{ "CCSGENACK",		0x08, 0x08 },
566*4882a593Smuzhiyun	{ "SG_CACHE_AVAIL",	0x10, 0x10 },
567*4882a593Smuzhiyun	{ "CCSGDONE",		0x80, 0x80 },
568*4882a593Smuzhiyun	{ "CCSGEN",		0x0c, 0x0c }
569*4882a593Smuzhiyun};
570*4882a593Smuzhiyun
571*4882a593Smuzhiyunint
572*4882a593Smuzhiyunahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
573*4882a593Smuzhiyun{
574*4882a593Smuzhiyun	return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL",
575*4882a593Smuzhiyun	    0xad, regvalue, cur_col, wrap));
576*4882a593Smuzhiyun}
577*4882a593Smuzhiyun
578*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQCTL0_parse_table[] = {
579*4882a593Smuzhiyun	{ "LOADRAM",		0x01, 0x01 },
580*4882a593Smuzhiyun	{ "SEQRESET",		0x02, 0x02 },
581*4882a593Smuzhiyun	{ "STEP",		0x04, 0x04 },
582*4882a593Smuzhiyun	{ "BRKADRINTEN",	0x08, 0x08 },
583*4882a593Smuzhiyun	{ "FASTMODE",		0x10, 0x10 },
584*4882a593Smuzhiyun	{ "FAILDIS",		0x20, 0x20 },
585*4882a593Smuzhiyun	{ "PAUSEDIS",		0x40, 0x40 },
586*4882a593Smuzhiyun	{ "PERRORDIS",		0x80, 0x80 }
587*4882a593Smuzhiyun};
588*4882a593Smuzhiyun
589*4882a593Smuzhiyunint
590*4882a593Smuzhiyunahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
591*4882a593Smuzhiyun{
592*4882a593Smuzhiyun	return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0",
593*4882a593Smuzhiyun	    0xd6, regvalue, cur_col, wrap));
594*4882a593Smuzhiyun}
595*4882a593Smuzhiyun
596*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = {
597*4882a593Smuzhiyun	{ "IRET",		0x01, 0x01 },
598*4882a593Smuzhiyun	{ "INTMASK1",		0x02, 0x02 },
599*4882a593Smuzhiyun	{ "INTMASK2",		0x04, 0x04 },
600*4882a593Smuzhiyun	{ "SCS_SEQ_INT1M0",	0x08, 0x08 },
601*4882a593Smuzhiyun	{ "SCS_SEQ_INT1M1",	0x10, 0x10 },
602*4882a593Smuzhiyun	{ "INT1_CONTEXT",	0x20, 0x20 },
603*4882a593Smuzhiyun	{ "INTVEC1DSL",		0x80, 0x80 }
604*4882a593Smuzhiyun};
605*4882a593Smuzhiyun
606*4882a593Smuzhiyunint
607*4882a593Smuzhiyunahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
608*4882a593Smuzhiyun{
609*4882a593Smuzhiyun	return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL",
610*4882a593Smuzhiyun	    0xd9, regvalue, cur_col, wrap));
611*4882a593Smuzhiyun}
612*4882a593Smuzhiyun
613*4882a593Smuzhiyunint
614*4882a593Smuzhiyunahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
615*4882a593Smuzhiyun{
616*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SRAM_BASE",
617*4882a593Smuzhiyun	    0x100, regvalue, cur_col, wrap));
618*4882a593Smuzhiyun}
619*4882a593Smuzhiyun
620*4882a593Smuzhiyunint
621*4882a593Smuzhiyunahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
622*4882a593Smuzhiyun{
623*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "QFREEZE_COUNT",
624*4882a593Smuzhiyun	    0x132, regvalue, cur_col, wrap));
625*4882a593Smuzhiyun}
626*4882a593Smuzhiyun
627*4882a593Smuzhiyunint
628*4882a593Smuzhiyunahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
629*4882a593Smuzhiyun{
630*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT",
631*4882a593Smuzhiyun	    0x134, regvalue, cur_col, wrap));
632*4882a593Smuzhiyun}
633*4882a593Smuzhiyun
634*4882a593Smuzhiyunint
635*4882a593Smuzhiyunahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap)
636*4882a593Smuzhiyun{
637*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SAVED_MODE",
638*4882a593Smuzhiyun	    0x136, regvalue, cur_col, wrap));
639*4882a593Smuzhiyun}
640*4882a593Smuzhiyun
641*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
642*4882a593Smuzhiyun	{ "NO_DISCONNECT",	0x01, 0x01 },
643*4882a593Smuzhiyun	{ "SPHASE_PENDING",	0x02, 0x02 },
644*4882a593Smuzhiyun	{ "DPHASE_PENDING",	0x04, 0x04 },
645*4882a593Smuzhiyun	{ "CMDPHASE_PENDING",	0x08, 0x08 },
646*4882a593Smuzhiyun	{ "TARG_CMD_PENDING",	0x10, 0x10 },
647*4882a593Smuzhiyun	{ "DPHASE",		0x20, 0x20 },
648*4882a593Smuzhiyun	{ "NO_CDB_SENT",	0x40, 0x40 },
649*4882a593Smuzhiyun	{ "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
650*4882a593Smuzhiyun	{ "NOT_IDENTIFIED",	0x80, 0x80 }
651*4882a593Smuzhiyun};
652*4882a593Smuzhiyun
653*4882a593Smuzhiyunint
654*4882a593Smuzhiyunahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
655*4882a593Smuzhiyun{
656*4882a593Smuzhiyun	return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
657*4882a593Smuzhiyun	    0x139, regvalue, cur_col, wrap));
658*4882a593Smuzhiyun}
659*4882a593Smuzhiyun
660*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t LASTPHASE_parse_table[] = {
661*4882a593Smuzhiyun	{ "P_DATAOUT",		0x00, 0xe0 },
662*4882a593Smuzhiyun	{ "P_DATAOUT_DT",	0x20, 0xe0 },
663*4882a593Smuzhiyun	{ "P_DATAIN",		0x40, 0xe0 },
664*4882a593Smuzhiyun	{ "P_DATAIN_DT",	0x60, 0xe0 },
665*4882a593Smuzhiyun	{ "P_COMMAND",		0x80, 0xe0 },
666*4882a593Smuzhiyun	{ "P_MESGOUT",		0xa0, 0xe0 },
667*4882a593Smuzhiyun	{ "P_STATUS",		0xc0, 0xe0 },
668*4882a593Smuzhiyun	{ "P_MESGIN",		0xe0, 0xe0 },
669*4882a593Smuzhiyun	{ "P_BUSFREE",		0x01, 0x01 },
670*4882a593Smuzhiyun	{ "MSGI",		0x20, 0x20 },
671*4882a593Smuzhiyun	{ "IOI",		0x40, 0x40 },
672*4882a593Smuzhiyun	{ "CDI",		0x80, 0x80 },
673*4882a593Smuzhiyun	{ "PHASE_MASK",		0xe0, 0xe0 }
674*4882a593Smuzhiyun};
675*4882a593Smuzhiyun
676*4882a593Smuzhiyunint
677*4882a593Smuzhiyunahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
678*4882a593Smuzhiyun{
679*4882a593Smuzhiyun	return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE",
680*4882a593Smuzhiyun	    0x13c, regvalue, cur_col, wrap));
681*4882a593Smuzhiyun}
682*4882a593Smuzhiyun
683*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
684*4882a593Smuzhiyun	{ "PENDING_MK_MESSAGE",	0x01, 0x01 },
685*4882a593Smuzhiyun	{ "TARGET_MSG_PENDING",	0x02, 0x02 },
686*4882a593Smuzhiyun	{ "SELECTOUT_QFROZEN",	0x04, 0x04 }
687*4882a593Smuzhiyun};
688*4882a593Smuzhiyun
689*4882a593Smuzhiyunint
690*4882a593Smuzhiyunahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
691*4882a593Smuzhiyun{
692*4882a593Smuzhiyun	return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2",
693*4882a593Smuzhiyun	    0x14d, regvalue, cur_col, wrap));
694*4882a593Smuzhiyun}
695*4882a593Smuzhiyun
696*4882a593Smuzhiyunint
697*4882a593Smuzhiyunahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
698*4882a593Smuzhiyun{
699*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB",
700*4882a593Smuzhiyun	    0x160, regvalue, cur_col, wrap));
701*4882a593Smuzhiyun}
702*4882a593Smuzhiyun
703*4882a593Smuzhiyunint
704*4882a593Smuzhiyunahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
705*4882a593Smuzhiyun{
706*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID",
707*4882a593Smuzhiyun	    0x162, regvalue, cur_col, wrap));
708*4882a593Smuzhiyun}
709*4882a593Smuzhiyun
710*4882a593Smuzhiyunint
711*4882a593Smuzhiyunahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
712*4882a593Smuzhiyun{
713*4882a593Smuzhiyun	return (ahd_print_register(NULL, 0, "SCB_BASE",
714*4882a593Smuzhiyun	    0x180, regvalue, cur_col, wrap));
715*4882a593Smuzhiyun}
716*4882a593Smuzhiyun
717*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
718*4882a593Smuzhiyun	{ "SCB_TAG_TYPE",	0x03, 0x03 },
719*4882a593Smuzhiyun	{ "DISCONNECTED",	0x04, 0x04 },
720*4882a593Smuzhiyun	{ "STATUS_RCVD",	0x08, 0x08 },
721*4882a593Smuzhiyun	{ "MK_MESSAGE",		0x10, 0x10 },
722*4882a593Smuzhiyun	{ "TAG_ENB",		0x20, 0x20 },
723*4882a593Smuzhiyun	{ "DISCENB",		0x40, 0x40 },
724*4882a593Smuzhiyun	{ "TARGET_SCB",		0x80, 0x80 }
725*4882a593Smuzhiyun};
726*4882a593Smuzhiyun
727*4882a593Smuzhiyunint
728*4882a593Smuzhiyunahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
729*4882a593Smuzhiyun{
730*4882a593Smuzhiyun	return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL",
731*4882a593Smuzhiyun	    0x192, regvalue, cur_col, wrap));
732*4882a593Smuzhiyun}
733*4882a593Smuzhiyun
734*4882a593Smuzhiyunstatic const ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
735*4882a593Smuzhiyun	{ "OID",		0x0f, 0x0f },
736*4882a593Smuzhiyun	{ "TID",		0xf0, 0xf0 }
737*4882a593Smuzhiyun};
738*4882a593Smuzhiyun
739*4882a593Smuzhiyunint
740*4882a593Smuzhiyunahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
741*4882a593Smuzhiyun{
742*4882a593Smuzhiyun	return (ahd_print_register(SCB_SCSIID_parse_table, 2, "SCB_SCSIID",
743*4882a593Smuzhiyun	    0x193, regvalue, cur_col, wrap));
744*4882a593Smuzhiyun}
745*4882a593Smuzhiyun
746