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/aic7xxx.seq#58 $ 6*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun#include "aic7xxx_osm.h" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSISEQ_parse_table[] = { 12*4882a593Smuzhiyun { "SCSIRSTO", 0x01, 0x01 }, 13*4882a593Smuzhiyun { "ENAUTOATNP", 0x02, 0x02 }, 14*4882a593Smuzhiyun { "ENAUTOATNI", 0x04, 0x04 }, 15*4882a593Smuzhiyun { "ENAUTOATNO", 0x08, 0x08 }, 16*4882a593Smuzhiyun { "ENRSELI", 0x10, 0x10 }, 17*4882a593Smuzhiyun { "ENSELI", 0x20, 0x20 }, 18*4882a593Smuzhiyun { "ENSELO", 0x40, 0x40 }, 19*4882a593Smuzhiyun { "TEMODE", 0x80, 0x80 } 20*4882a593Smuzhiyun}; 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunint 23*4882a593Smuzhiyunahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap) 24*4882a593Smuzhiyun{ 25*4882a593Smuzhiyun return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ", 26*4882a593Smuzhiyun 0x00, regvalue, cur_col, wrap)); 27*4882a593Smuzhiyun} 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = { 30*4882a593Smuzhiyun { "CLRCHN", 0x02, 0x02 }, 31*4882a593Smuzhiyun { "SCAMEN", 0x04, 0x04 }, 32*4882a593Smuzhiyun { "SPIOEN", 0x08, 0x08 }, 33*4882a593Smuzhiyun { "CLRSTCNT", 0x10, 0x10 }, 34*4882a593Smuzhiyun { "FAST20", 0x20, 0x20 }, 35*4882a593Smuzhiyun { "DFPEXP", 0x40, 0x40 }, 36*4882a593Smuzhiyun { "DFON", 0x80, 0x80 } 37*4882a593Smuzhiyun}; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyunint 40*4882a593Smuzhiyunahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 41*4882a593Smuzhiyun{ 42*4882a593Smuzhiyun return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0", 43*4882a593Smuzhiyun 0x01, regvalue, cur_col, wrap)); 44*4882a593Smuzhiyun} 45*4882a593Smuzhiyun 46*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSISIGI_parse_table[] = { 47*4882a593Smuzhiyun { "ACKI", 0x01, 0x01 }, 48*4882a593Smuzhiyun { "REQI", 0x02, 0x02 }, 49*4882a593Smuzhiyun { "BSYI", 0x04, 0x04 }, 50*4882a593Smuzhiyun { "SELI", 0x08, 0x08 }, 51*4882a593Smuzhiyun { "ATNI", 0x10, 0x10 }, 52*4882a593Smuzhiyun { "MSGI", 0x20, 0x20 }, 53*4882a593Smuzhiyun { "IOI", 0x40, 0x40 }, 54*4882a593Smuzhiyun { "CDI", 0x80, 0x80 }, 55*4882a593Smuzhiyun { "P_DATAOUT", 0x00, 0x00 }, 56*4882a593Smuzhiyun { "P_DATAOUT_DT", 0x20, 0x20 }, 57*4882a593Smuzhiyun { "P_DATAIN", 0x40, 0x40 }, 58*4882a593Smuzhiyun { "P_DATAIN_DT", 0x60, 0x60 }, 59*4882a593Smuzhiyun { "P_COMMAND", 0x80, 0x80 }, 60*4882a593Smuzhiyun { "P_MESGOUT", 0xa0, 0xa0 }, 61*4882a593Smuzhiyun { "P_STATUS", 0xc0, 0xc0 }, 62*4882a593Smuzhiyun { "PHASE_MASK", 0xe0, 0xe0 }, 63*4882a593Smuzhiyun { "P_MESGIN", 0xe0, 0xe0 } 64*4882a593Smuzhiyun}; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunint 67*4882a593Smuzhiyunahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap) 68*4882a593Smuzhiyun{ 69*4882a593Smuzhiyun return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI", 70*4882a593Smuzhiyun 0x03, regvalue, cur_col, wrap)); 71*4882a593Smuzhiyun} 72*4882a593Smuzhiyun 73*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSIRATE_parse_table[] = { 74*4882a593Smuzhiyun { "SINGLE_EDGE", 0x10, 0x10 }, 75*4882a593Smuzhiyun { "ENABLE_CRC", 0x40, 0x40 }, 76*4882a593Smuzhiyun { "WIDEXFER", 0x80, 0x80 }, 77*4882a593Smuzhiyun { "SXFR_ULTRA2", 0x0f, 0x0f }, 78*4882a593Smuzhiyun { "SOFS", 0x0f, 0x0f }, 79*4882a593Smuzhiyun { "SXFR", 0x70, 0x70 } 80*4882a593Smuzhiyun}; 81*4882a593Smuzhiyun 82*4882a593Smuzhiyunint 83*4882a593Smuzhiyunahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap) 84*4882a593Smuzhiyun{ 85*4882a593Smuzhiyun return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE", 86*4882a593Smuzhiyun 0x04, regvalue, cur_col, wrap)); 87*4882a593Smuzhiyun} 88*4882a593Smuzhiyun 89*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT0_parse_table[] = { 90*4882a593Smuzhiyun { "DMADONE", 0x01, 0x01 }, 91*4882a593Smuzhiyun { "SPIORDY", 0x02, 0x02 }, 92*4882a593Smuzhiyun { "SDONE", 0x04, 0x04 }, 93*4882a593Smuzhiyun { "SWRAP", 0x08, 0x08 }, 94*4882a593Smuzhiyun { "IOERR", 0x08, 0x08 }, 95*4882a593Smuzhiyun { "SELINGO", 0x10, 0x10 }, 96*4882a593Smuzhiyun { "SELDI", 0x20, 0x20 }, 97*4882a593Smuzhiyun { "SELDO", 0x40, 0x40 }, 98*4882a593Smuzhiyun { "TARGET", 0x80, 0x80 } 99*4882a593Smuzhiyun}; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyunint 102*4882a593Smuzhiyunahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 103*4882a593Smuzhiyun{ 104*4882a593Smuzhiyun return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0", 105*4882a593Smuzhiyun 0x0b, regvalue, cur_col, wrap)); 106*4882a593Smuzhiyun} 107*4882a593Smuzhiyun 108*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT1_parse_table[] = { 109*4882a593Smuzhiyun { "REQINIT", 0x01, 0x01 }, 110*4882a593Smuzhiyun { "PHASECHG", 0x02, 0x02 }, 111*4882a593Smuzhiyun { "SCSIPERR", 0x04, 0x04 }, 112*4882a593Smuzhiyun { "BUSFREE", 0x08, 0x08 }, 113*4882a593Smuzhiyun { "PHASEMIS", 0x10, 0x10 }, 114*4882a593Smuzhiyun { "SCSIRSTI", 0x20, 0x20 }, 115*4882a593Smuzhiyun { "ATNTARG", 0x40, 0x40 }, 116*4882a593Smuzhiyun { "SELTO", 0x80, 0x80 } 117*4882a593Smuzhiyun}; 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunint 120*4882a593Smuzhiyunahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 121*4882a593Smuzhiyun{ 122*4882a593Smuzhiyun return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1", 123*4882a593Smuzhiyun 0x0c, regvalue, cur_col, wrap)); 124*4882a593Smuzhiyun} 125*4882a593Smuzhiyun 126*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT2_parse_table[] = { 127*4882a593Smuzhiyun { "DUAL_EDGE_ERR", 0x01, 0x01 }, 128*4882a593Smuzhiyun { "CRCREQERR", 0x02, 0x02 }, 129*4882a593Smuzhiyun { "CRCENDERR", 0x04, 0x04 }, 130*4882a593Smuzhiyun { "CRCVALERR", 0x08, 0x08 }, 131*4882a593Smuzhiyun { "EXP_ACTIVE", 0x10, 0x10 }, 132*4882a593Smuzhiyun { "SHVALID", 0x40, 0x40 }, 133*4882a593Smuzhiyun { "OVERRUN", 0x80, 0x80 }, 134*4882a593Smuzhiyun { "SFCNT", 0x1f, 0x1f } 135*4882a593Smuzhiyun}; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyunint 138*4882a593Smuzhiyunahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap) 139*4882a593Smuzhiyun{ 140*4882a593Smuzhiyun return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2", 141*4882a593Smuzhiyun 0x0d, regvalue, cur_col, wrap)); 142*4882a593Smuzhiyun} 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT3_parse_table[] = { 145*4882a593Smuzhiyun { "OFFCNT", 0x0f, 0x0f }, 146*4882a593Smuzhiyun { "U2OFFCNT", 0x7f, 0x7f }, 147*4882a593Smuzhiyun { "SCSICNT", 0xf0, 0xf0 } 148*4882a593Smuzhiyun}; 149*4882a593Smuzhiyun 150*4882a593Smuzhiyunint 151*4882a593Smuzhiyunahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap) 152*4882a593Smuzhiyun{ 153*4882a593Smuzhiyun return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3", 154*4882a593Smuzhiyun 0x0e, regvalue, cur_col, wrap)); 155*4882a593Smuzhiyun} 156*4882a593Smuzhiyun 157*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SIMODE0_parse_table[] = { 158*4882a593Smuzhiyun { "ENDMADONE", 0x01, 0x01 }, 159*4882a593Smuzhiyun { "ENSPIORDY", 0x02, 0x02 }, 160*4882a593Smuzhiyun { "ENSDONE", 0x04, 0x04 }, 161*4882a593Smuzhiyun { "ENSWRAP", 0x08, 0x08 }, 162*4882a593Smuzhiyun { "ENIOERR", 0x08, 0x08 }, 163*4882a593Smuzhiyun { "ENSELINGO", 0x10, 0x10 }, 164*4882a593Smuzhiyun { "ENSELDI", 0x20, 0x20 }, 165*4882a593Smuzhiyun { "ENSELDO", 0x40, 0x40 } 166*4882a593Smuzhiyun}; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunint 169*4882a593Smuzhiyunahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap) 170*4882a593Smuzhiyun{ 171*4882a593Smuzhiyun return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0", 172*4882a593Smuzhiyun 0x10, regvalue, cur_col, wrap)); 173*4882a593Smuzhiyun} 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SIMODE1_parse_table[] = { 176*4882a593Smuzhiyun { "ENREQINIT", 0x01, 0x01 }, 177*4882a593Smuzhiyun { "ENPHASECHG", 0x02, 0x02 }, 178*4882a593Smuzhiyun { "ENSCSIPERR", 0x04, 0x04 }, 179*4882a593Smuzhiyun { "ENBUSFREE", 0x08, 0x08 }, 180*4882a593Smuzhiyun { "ENPHASEMIS", 0x10, 0x10 }, 181*4882a593Smuzhiyun { "ENSCSIRST", 0x20, 0x20 }, 182*4882a593Smuzhiyun { "ENATNTARG", 0x40, 0x40 }, 183*4882a593Smuzhiyun { "ENSELTIMO", 0x80, 0x80 } 184*4882a593Smuzhiyun}; 185*4882a593Smuzhiyun 186*4882a593Smuzhiyunint 187*4882a593Smuzhiyunahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap) 188*4882a593Smuzhiyun{ 189*4882a593Smuzhiyun return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1", 190*4882a593Smuzhiyun 0x11, regvalue, cur_col, wrap)); 191*4882a593Smuzhiyun} 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunint 194*4882a593Smuzhiyunahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap) 195*4882a593Smuzhiyun{ 196*4882a593Smuzhiyun return (ahc_print_register(NULL, 0, "SCSIBUSL", 197*4882a593Smuzhiyun 0x12, regvalue, cur_col, wrap)); 198*4882a593Smuzhiyun} 199*4882a593Smuzhiyun 200*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SBLKCTL_parse_table[] = { 201*4882a593Smuzhiyun { "XCVR", 0x01, 0x01 }, 202*4882a593Smuzhiyun { "SELWIDE", 0x02, 0x02 }, 203*4882a593Smuzhiyun { "ENAB20", 0x04, 0x04 }, 204*4882a593Smuzhiyun { "SELBUSB", 0x08, 0x08 }, 205*4882a593Smuzhiyun { "ENAB40", 0x08, 0x08 }, 206*4882a593Smuzhiyun { "AUTOFLUSHDIS", 0x20, 0x20 }, 207*4882a593Smuzhiyun { "DIAGLEDON", 0x40, 0x40 }, 208*4882a593Smuzhiyun { "DIAGLEDEN", 0x80, 0x80 } 209*4882a593Smuzhiyun}; 210*4882a593Smuzhiyun 211*4882a593Smuzhiyunint 212*4882a593Smuzhiyunahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 213*4882a593Smuzhiyun{ 214*4882a593Smuzhiyun return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL", 215*4882a593Smuzhiyun 0x1f, regvalue, cur_col, wrap)); 216*4882a593Smuzhiyun} 217*4882a593Smuzhiyun 218*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = { 219*4882a593Smuzhiyun { "NO_DISCONNECT", 0x01, 0x01 }, 220*4882a593Smuzhiyun { "SPHASE_PENDING", 0x02, 0x02 }, 221*4882a593Smuzhiyun { "DPHASE_PENDING", 0x04, 0x04 }, 222*4882a593Smuzhiyun { "CMDPHASE_PENDING", 0x08, 0x08 }, 223*4882a593Smuzhiyun { "TARG_CMD_PENDING", 0x10, 0x10 }, 224*4882a593Smuzhiyun { "DPHASE", 0x20, 0x20 }, 225*4882a593Smuzhiyun { "NO_CDB_SENT", 0x40, 0x40 }, 226*4882a593Smuzhiyun { "TARGET_CMD_IS_TAGGED",0x40, 0x40 }, 227*4882a593Smuzhiyun { "NOT_IDENTIFIED", 0x80, 0x80 } 228*4882a593Smuzhiyun}; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyunint 231*4882a593Smuzhiyunahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap) 232*4882a593Smuzhiyun{ 233*4882a593Smuzhiyun return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS", 234*4882a593Smuzhiyun 0x3c, regvalue, cur_col, wrap)); 235*4882a593Smuzhiyun} 236*4882a593Smuzhiyun 237*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t LASTPHASE_parse_table[] = { 238*4882a593Smuzhiyun { "MSGI", 0x20, 0x20 }, 239*4882a593Smuzhiyun { "IOI", 0x40, 0x40 }, 240*4882a593Smuzhiyun { "CDI", 0x80, 0x80 }, 241*4882a593Smuzhiyun { "P_DATAOUT", 0x00, 0x00 }, 242*4882a593Smuzhiyun { "P_BUSFREE", 0x01, 0x01 }, 243*4882a593Smuzhiyun { "P_DATAIN", 0x40, 0x40 }, 244*4882a593Smuzhiyun { "P_COMMAND", 0x80, 0x80 }, 245*4882a593Smuzhiyun { "P_MESGOUT", 0xa0, 0xa0 }, 246*4882a593Smuzhiyun { "P_STATUS", 0xc0, 0xc0 }, 247*4882a593Smuzhiyun { "PHASE_MASK", 0xe0, 0xe0 }, 248*4882a593Smuzhiyun { "P_MESGIN", 0xe0, 0xe0 } 249*4882a593Smuzhiyun}; 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunint 252*4882a593Smuzhiyunahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap) 253*4882a593Smuzhiyun{ 254*4882a593Smuzhiyun return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE", 255*4882a593Smuzhiyun 0x3f, regvalue, cur_col, wrap)); 256*4882a593Smuzhiyun} 257*4882a593Smuzhiyun 258*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SEQCTL_parse_table[] = { 259*4882a593Smuzhiyun { "LOADRAM", 0x01, 0x01 }, 260*4882a593Smuzhiyun { "SEQRESET", 0x02, 0x02 }, 261*4882a593Smuzhiyun { "STEP", 0x04, 0x04 }, 262*4882a593Smuzhiyun { "BRKADRINTEN", 0x08, 0x08 }, 263*4882a593Smuzhiyun { "FASTMODE", 0x10, 0x10 }, 264*4882a593Smuzhiyun { "FAILDIS", 0x20, 0x20 }, 265*4882a593Smuzhiyun { "PAUSEDIS", 0x40, 0x40 }, 266*4882a593Smuzhiyun { "PERRORDIS", 0x80, 0x80 } 267*4882a593Smuzhiyun}; 268*4882a593Smuzhiyun 269*4882a593Smuzhiyunint 270*4882a593Smuzhiyunahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 271*4882a593Smuzhiyun{ 272*4882a593Smuzhiyun return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL", 273*4882a593Smuzhiyun 0x60, regvalue, cur_col, wrap)); 274*4882a593Smuzhiyun} 275*4882a593Smuzhiyun 276*4882a593Smuzhiyunint 277*4882a593Smuzhiyunahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap) 278*4882a593Smuzhiyun{ 279*4882a593Smuzhiyun return (ahc_print_register(NULL, 0, "SRAM_BASE", 280*4882a593Smuzhiyun 0x70, regvalue, cur_col, wrap)); 281*4882a593Smuzhiyun} 282*4882a593Smuzhiyun 283*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t ERROR_parse_table[] = { 284*4882a593Smuzhiyun { "ILLHADDR", 0x01, 0x01 }, 285*4882a593Smuzhiyun { "ILLSADDR", 0x02, 0x02 }, 286*4882a593Smuzhiyun { "ILLOPCODE", 0x04, 0x04 }, 287*4882a593Smuzhiyun { "SQPARERR", 0x08, 0x08 }, 288*4882a593Smuzhiyun { "DPARERR", 0x10, 0x10 }, 289*4882a593Smuzhiyun { "MPARERR", 0x20, 0x20 }, 290*4882a593Smuzhiyun { "PCIERRSTAT", 0x40, 0x40 }, 291*4882a593Smuzhiyun { "CIOPARERR", 0x80, 0x80 } 292*4882a593Smuzhiyun}; 293*4882a593Smuzhiyun 294*4882a593Smuzhiyunint 295*4882a593Smuzhiyunahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap) 296*4882a593Smuzhiyun{ 297*4882a593Smuzhiyun return (ahc_print_register(ERROR_parse_table, 8, "ERROR", 298*4882a593Smuzhiyun 0x92, regvalue, cur_col, wrap)); 299*4882a593Smuzhiyun} 300*4882a593Smuzhiyun 301*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = { 302*4882a593Smuzhiyun { "FIFORESET", 0x01, 0x01 }, 303*4882a593Smuzhiyun { "FIFOFLUSH", 0x02, 0x02 }, 304*4882a593Smuzhiyun { "DIRECTION", 0x04, 0x04 }, 305*4882a593Smuzhiyun { "HDMAEN", 0x08, 0x08 }, 306*4882a593Smuzhiyun { "HDMAENACK", 0x08, 0x08 }, 307*4882a593Smuzhiyun { "SDMAEN", 0x10, 0x10 }, 308*4882a593Smuzhiyun { "SDMAENACK", 0x10, 0x10 }, 309*4882a593Smuzhiyun { "SCSIEN", 0x20, 0x20 }, 310*4882a593Smuzhiyun { "WIDEODD", 0x40, 0x40 }, 311*4882a593Smuzhiyun { "PRELOADEN", 0x80, 0x80 } 312*4882a593Smuzhiyun}; 313*4882a593Smuzhiyun 314*4882a593Smuzhiyunint 315*4882a593Smuzhiyunahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap) 316*4882a593Smuzhiyun{ 317*4882a593Smuzhiyun return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL", 318*4882a593Smuzhiyun 0x93, regvalue, cur_col, wrap)); 319*4882a593Smuzhiyun} 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = { 322*4882a593Smuzhiyun { "FIFOEMP", 0x01, 0x01 }, 323*4882a593Smuzhiyun { "FIFOFULL", 0x02, 0x02 }, 324*4882a593Smuzhiyun { "DFTHRESH", 0x04, 0x04 }, 325*4882a593Smuzhiyun { "HDONE", 0x08, 0x08 }, 326*4882a593Smuzhiyun { "MREQPEND", 0x10, 0x10 }, 327*4882a593Smuzhiyun { "FIFOQWDEMP", 0x20, 0x20 }, 328*4882a593Smuzhiyun { "DFCACHETH", 0x40, 0x40 }, 329*4882a593Smuzhiyun { "PRELOAD_AVAIL", 0x80, 0x80 } 330*4882a593Smuzhiyun}; 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunint 333*4882a593Smuzhiyunahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap) 334*4882a593Smuzhiyun{ 335*4882a593Smuzhiyun return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS", 336*4882a593Smuzhiyun 0x94, regvalue, cur_col, wrap)); 337*4882a593Smuzhiyun} 338*4882a593Smuzhiyun 339*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = { 340*4882a593Smuzhiyun { "DATA_OUT_PHASE", 0x01, 0x01 }, 341*4882a593Smuzhiyun { "DATA_IN_PHASE", 0x02, 0x02 }, 342*4882a593Smuzhiyun { "MSG_OUT_PHASE", 0x04, 0x04 }, 343*4882a593Smuzhiyun { "MSG_IN_PHASE", 0x08, 0x08 }, 344*4882a593Smuzhiyun { "COMMAND_PHASE", 0x10, 0x10 }, 345*4882a593Smuzhiyun { "STATUS_PHASE", 0x20, 0x20 }, 346*4882a593Smuzhiyun { "DATA_PHASE_MASK", 0x03, 0x03 } 347*4882a593Smuzhiyun}; 348*4882a593Smuzhiyun 349*4882a593Smuzhiyunint 350*4882a593Smuzhiyunahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap) 351*4882a593Smuzhiyun{ 352*4882a593Smuzhiyun return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE", 353*4882a593Smuzhiyun 0x9e, regvalue, cur_col, wrap)); 354*4882a593Smuzhiyun} 355*4882a593Smuzhiyun 356*4882a593Smuzhiyunint 357*4882a593Smuzhiyunahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap) 358*4882a593Smuzhiyun{ 359*4882a593Smuzhiyun return (ahc_print_register(NULL, 0, "SCB_BASE", 360*4882a593Smuzhiyun 0xa0, regvalue, cur_col, wrap)); 361*4882a593Smuzhiyun} 362*4882a593Smuzhiyun 363*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = { 364*4882a593Smuzhiyun { "DISCONNECTED", 0x04, 0x04 }, 365*4882a593Smuzhiyun { "ULTRAENB", 0x08, 0x08 }, 366*4882a593Smuzhiyun { "MK_MESSAGE", 0x10, 0x10 }, 367*4882a593Smuzhiyun { "TAG_ENB", 0x20, 0x20 }, 368*4882a593Smuzhiyun { "DISCENB", 0x40, 0x40 }, 369*4882a593Smuzhiyun { "TARGET_SCB", 0x80, 0x80 }, 370*4882a593Smuzhiyun { "STATUS_RCVD", 0x80, 0x80 }, 371*4882a593Smuzhiyun { "SCB_TAG_TYPE", 0x03, 0x03 } 372*4882a593Smuzhiyun}; 373*4882a593Smuzhiyun 374*4882a593Smuzhiyunint 375*4882a593Smuzhiyunahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap) 376*4882a593Smuzhiyun{ 377*4882a593Smuzhiyun return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL", 378*4882a593Smuzhiyun 0xb8, regvalue, cur_col, wrap)); 379*4882a593Smuzhiyun} 380*4882a593Smuzhiyun 381*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = { 382*4882a593Smuzhiyun { "TWIN_CHNLB", 0x80, 0x80 }, 383*4882a593Smuzhiyun { "OID", 0x0f, 0x0f }, 384*4882a593Smuzhiyun { "TWIN_TID", 0x70, 0x70 }, 385*4882a593Smuzhiyun { "TID", 0xf0, 0xf0 } 386*4882a593Smuzhiyun}; 387*4882a593Smuzhiyun 388*4882a593Smuzhiyunint 389*4882a593Smuzhiyunahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap) 390*4882a593Smuzhiyun{ 391*4882a593Smuzhiyun return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID", 392*4882a593Smuzhiyun 0xb9, regvalue, cur_col, wrap)); 393*4882a593Smuzhiyun} 394*4882a593Smuzhiyun 395*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_LUN_parse_table[] = { 396*4882a593Smuzhiyun { "SCB_XFERLEN_ODD", 0x80, 0x80 }, 397*4882a593Smuzhiyun { "LID", 0x3f, 0x3f } 398*4882a593Smuzhiyun}; 399*4882a593Smuzhiyun 400*4882a593Smuzhiyunint 401*4882a593Smuzhiyunahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap) 402*4882a593Smuzhiyun{ 403*4882a593Smuzhiyun return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN", 404*4882a593Smuzhiyun 0xba, regvalue, cur_col, wrap)); 405*4882a593Smuzhiyun} 406*4882a593Smuzhiyun 407*4882a593Smuzhiyunint 408*4882a593Smuzhiyunahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap) 409*4882a593Smuzhiyun{ 410*4882a593Smuzhiyun return (ahc_print_register(NULL, 0, "SCB_TAG", 411*4882a593Smuzhiyun 0xbb, regvalue, cur_col, wrap)); 412*4882a593Smuzhiyun} 413*4882a593Smuzhiyun 414