📄 eribld.c
字号:
if (ini_seg(ads_ptr) == EI$FAIL) status = EI$FAIL; var_elrp = (u_char *)Elcidattn(elrp); os_std(&elrp->elsubid.subid_ctldevtyp, OS$cityp, DD$devtype); os_std(&elrp->elsubid.subid_errcode, OS$gen_long, DD$cierrcode); temp_long = (elrp->elsubid.subid_errcode & 0xe7ffffff); os_std(&temp_long, OS$cierrcod, DD$cierrcod); os_std(Elcicommon(elrp)->ci_lpname, OS$ci_lpname, DD$cilpname); os_std(Elcicommon(elrp)->ci_lname, OS$ci_lname, DD$cilname); os_std(Elcicommon(elrp)->ci_lsysid, OS$gen_bv_6, DD$cilsysid); os_std(Elcicommon(elrp)->ci_lsaddr, OS$gen_bv_6, DD$cilsaddr); os_std(&Elcicommon(elrp)->ci_nerrs, OS$gen_short, DD$cierrs); os_std(&Elcicommon(elrp)->ci_nreinits, OS$gen_short, DD$cireinits);/**************************** CI REGS ********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_REGS) == CI_REGS) { os_std(&Elciciregs(var_elrp)->ci_pfaddr, OS$gen_long, DD$cipfaddr); os_std(&Elciciregs(var_elrp)->ci_pesr, OS$gen_long, DD$ciper); if ((elrp->elsubid.subid_ctldevtyp == ELCIHPT_CI750) || (elrp->elsubid.subid_ctldevtyp == ELCIHPT_CI780)) { os_std(&Elciciregs(var_elrp)->ci_cnfr, OS$gen_long, DD$cipcnf); os_std(&Elciciregs(var_elrp)->ci_pmcsr, OS$gen_long, DD$cipmcsr); os_std(&Elciciregs(var_elrp)->ci_psr, OS$gen_long, DD$cipsr); os_std(&Elciciregs(var_elrp)->ci_ppr, OS$gen_long, DD$cippr); } else if ((elrp->elsubid.subid_ctldevtyp == ELCIHPT_CIBCAAA) || (elrp->elsubid.subid_ctldevtyp == ELCIHPT_CIBCABA)) { os_std(&Elciciregs(var_elrp)->ci_cnfr, OS$gen_long, DD$cibcipcnf); os_std(&Elciciregs(var_elrp)->ci_pmcsr, OS$gen_long, DD$cibcapmcsr); os_std(&Elciciregs(var_elrp)->ci_psr, OS$gen_long, DD$cibcapsr); os_std(&Elciciregs(var_elrp)->ci_ppr, OS$gen_long, DD$cibcappr); } else if (elrp->elsubid.subid_ctldevtyp == ELCIHPT_CIBCI) { os_std(&Elciciregs(var_elrp)->ci_cnfr, OS$gen_long, DD$cibcipcnf); os_std(&Elciciregs(var_elrp)->ci_pmcsr, OS$gen_long, DD$cipmcsr); os_std(&Elciciregs(var_elrp)->ci_psr, OS$gen_long, DD$cipsr); os_std(&Elciciregs(var_elrp)->ci_ppr, OS$gen_long, DD$cippr); } else if (elrp->elsubid.subid_ctldevtyp == ELCIHPT_CIXCD) { os_std(&Elciciregs(var_elrp)->ci_cnfr, OS$gen_long, DD$cipcnf); os_std(&Elciciregs(var_elrp)->ci_pmcsr, OS$gen_long, DD$cixcdpmcsr); os_std(&Elciciregs(var_elrp)->ci_psr, OS$gen_long, DD$cixcdpsr); os_std(&Elciciregs(var_elrp)->ci_ppr, OS$gen_long, DD$cixcdppr); } var_elrp += sizeof(struct ci_regs); }/**************************** BI REGS ********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_BIREGS) == CI_BIREGS) { os_std(&Elcibiregs(var_elrp)->bi_typ, OS$gen_long, DD$bidevreg); os_std(&Elcibiregs(var_elrp)->bi_ctrl, OS$gen_long, DD$bicsr); os_std(&Elcibiregs(var_elrp)->bi_err, OS$gen_long, DD$bibuserreg); os_std(&Elcibiregs(var_elrp)->bi_err_int, OS$gen_long, DD$bierint); os_std(&Elcibiregs(var_elrp)->bi_int_dst, OS$gen_long, DD$biintdst); var_elrp += sizeof(struct bi_regs); }/*************************** XMI REGS ********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_XMIREGS) == CI_XMIREGS) { os_std(&Elcixmiregs(var_elrp)->xdev, OS$gen_long, DD$xdev); os_std(&Elcixmiregs(var_elrp)->xbe, OS$gen_long, DD$xbe); os_std(&Elcixmiregs(var_elrp)->xfadrl, OS$gen_long, DD$xfadrl); os_std(&Elcixmiregs(var_elrp)->xfadrh, OS$gen_long, DD$xfadrh); os_std(&Elcixmiregs(var_elrp)->pidr, OS$gen_long, DD$pidr); os_std(&Elcixmiregs(var_elrp)->pvr, OS$gen_long, DD$pvr); var_elrp += sizeof(struct cixmi_regs); }/*************************** UCODE *********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_UCODE) == CI_UCODE) { os_std(&Elciucode(var_elrp)->ci_addr, OS$gen_long, DD$ciaddr); os_std(&Elciucode(var_elrp)->ci_bvalue, OS$gen_long, DD$cibvalue); os_std(&Elciucode(var_elrp)->ci_gvalue, OS$gen_long, DD$cigvalue); }/*************************** REVLEV ********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_REVLEV) == CI_REVLEV) { os_std(&Elcirevlev(var_elrp)->ci_romlev, OS$gen_long, DD$cirom); os_std(&Elcirevlev(var_elrp)->ci_ramlev, OS$gen_long, DD$ciram); }/************************** CPU REVLEV *******************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_CPUREVLEV) == CI_CPUREVLEV) { os_std(&Elcicpurevlev(var_elrp)->ci_hwtype, OS$gen_long, DD$cihwtype); os_std(&Elcicpurevlev(var_elrp)->ci_mincpurev, OS$gen_long, DD$cimincpurev); os_std(&Elcicpurevlev(var_elrp)->ci_currevlev, OS$gen_long, DD$cicurrevlev); } break; case ELCI_LPKT: cds_ptr->subtype = DD$CI_GEN_CDS; if (ini_seg(cds_ptr) == EI$FAIL) status = EI$FAIL; sds_ptr->subtype = DD$CI_COMMON_SDS; if (ini_seg(sds_ptr) == EI$FAIL) status = EI$FAIL; ads_ptr->subtype = DD$CI_LPKT_ADS; if (ini_seg(ads_ptr) == EI$FAIL) status = EI$FAIL; os_std(&elrp->elsubid.subid_ctldevtyp, OS$cityp, DD$devtype); os_std(&elrp->elsubid.subid_errcode, OS$gen_long, DD$cierrcode); temp_long = (elrp->elsubid.subid_errcode & 0xe7ffffff); os_std(&temp_long, OS$cierrcod, DD$cierrcod); os_std(Elcicommon(elrp)->ci_lpname, OS$ci_lpname, DD$cilpname); os_std(Elcicommon(elrp)->ci_lname, OS$ci_lname, DD$cilname); os_std(Elcicommon(elrp)->ci_lsysid, OS$gen_bv_6, DD$cilsysid); os_std(Elcicommon(elrp)->ci_lsaddr, OS$gen_bv_6, DD$cilsaddr); os_std(&Elcicommon(elrp)->ci_nerrs, OS$gen_short, DD$cierrs); os_std(&Elcicommon(elrp)->ci_nreinits, OS$gen_short, DD$cireinits);/*************************** LCOMMON *********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_LCOMMON) == CI_LCOMMON) { os_std(Elcilcommon(elrp)->ci_rsaddr, OS$gen_bv_6, DD$cirsaddr); os_std(Elcilcommon(elrp)->ci_rsysid, OS$gen_bv_6, DD$cirsysid); os_std(Elcilcommon(elrp)->ci_rname, OS$ci_rname, DD$cirname); }/**************************** PACKET *********************************/ if ((Elcicommon(elrp)->ci_optfmask1 & CI_PACKET) == CI_PACKET) { os_std(&Elcipacket(elrp)->ci_port, OS$gen_tiny, DD$ciport); os_std(&Elcipacket(elrp)->ci_status, OS$gen_tiny, DD$cistatus); os_std(&Elcipacket(elrp)->ci_opcode, OS$gen_tiny, DD$ciopcode); os_std(&Elcipacket(elrp)->ci_flags, OS$gen_tiny, DD$ciflags); } break;/****************** OTHER CONTROLLER ERRORS *********************/ case ELMSI_ATTN: case ELMSI_LPKT: cds_ptr->subtype = DD$MSI_CDS; if (ini_seg(cds_ptr) == EI$FAIL) status = EI$FAIL; os_std(&elrp->elsubid.subid_ctldevtyp, OS$cityp, DD$devtype); os_std(&elrp->elsubid.subid_errcode, OS$gen_long, DD$cierrcode); temp_long = (elrp->elsubid.subid_errcode & 0xe7ffffff); os_std(&temp_long, OS$msi_errcode, DD$msi_errcode); os_std(Elmsicommon(elrp)->msi_lpname, OS$ci_lpname, DD$cilpname); os_std(Elmsicommon(elrp)->msi_lname, OS$ci_lname, DD$cilname); os_std(Elmsicommon(elrp)->msi_lsysid, OS$gen_bv_6, DD$cilsysid); os_std(Elmsicommon(elrp)->msi_lsaddr, OS$gen_bv_6, DD$cilsaddr); os_std(&Elmsicommon(elrp)->msi_nerrs, OS$gen_short, DD$cierrs); os_std(&Elmsicommon(elrp)->msi_nreinits, OS$gen_short, DD$cireinits); if (elrp->elsubid.subid_type == ELMSI_ATTN) { if ((Elmsicommon(elrp)->msi_optfmask1 & MSI_REGS) != MSI_REGS) break; ads_ptr->subtype = DD$MSI_DATTN_ADS; if (ini_seg(ads_ptr) == EI$FAIL) status = EI$FAIL; os_std(&Elmsiregs(elrp)->msi_csr, OS$gen_short, DD$msi_csr); os_std(&Elmsiregs(elrp)->msi_dssr, OS$gen_short, DD$msi_dssr); os_std(&Elmsiregs(elrp)->msi_idr, OS$gen_short, DD$msiidr); os_std(&Elmsiregs(elrp)->msi_slcs, OS$gen_short, DD$msislcs); os_std(&Elmsiregs(elrp)->msi_destat, OS$gen_short, DD$msidestat); os_std(&Elmsiregs(elrp)->msi_tr, OS$gen_short, DD$msitr); os_std(&Elmsiregs(elrp)->msi_dmctlr, OS$gen_short, DD$msidmctlr); os_std(&Elmsiregs(elrp)->msi_dmlotc, OS$gen_short, DD$msidmlotc); os_std(&Elmsiregs(elrp)->msi_dmaaddrl, OS$gen_short, DD$msidmaaddrl); os_std(&Elmsiregs(elrp)->msi_dmaaddrh, OS$gen_short, DD$msidmaaddrh); os_std(&Elmsiregs(elrp)->msi_stlp, OS$gen_short, DD$msistlp); os_std(&Elmsiregs(elrp)->msi_tlp, OS$gen_short, DD$msitlp); os_std(&Elmsiregs(elrp)->msi_ilp, OS$gen_short, DD$msiilp); os_std(&Elmsiregs(elrp)->msi_dscr, OS$gen_short, DD$msidscr); os_std(&Elmsiregs(elrp)->msi_dstat, OS$gen_short, DD$msidstat); os_std(&Elmsiregs(elrp)->msi_dcr, OS$gen_short, DD$msidcr); os_std(&Elmsiregs(elrp)->msi_save_dssr, OS$gen_short, DD$msisavedssr); os_std(&Elmsiregs(elrp)->msi_save_dstat, OS$gen_short, DD$msisavedstat); break; } if (elrp->elsubid.subid_type == ELMSI_LPKT) { var_elrp = (u_char *)Elmsilcommon(elrp); ads_ptr->subtype = DD$MSI_LPKT_ADS; if (ini_seg(ads_ptr) == EI$FAIL) status = EI$FAIL; if ((Elmsicommon(elrp)->msi_optfmask1 & MSI_LCOMMON) == MSI_LCOMMON) { os_std(Elmsilcommon(elrp)->msi_rsaddr, OS$gen_bv_6, DD$cirsaddr); os_std(Elmsilcommon(elrp)->msi_rsysid, OS$gen_bv_6, DD$cirsysid); os_std(Elmsilcommon(elrp)->msi_rname, OS$ci_rname, DD$cirname); var_elrp += sizeof(struct msi_lcommon); } if ((Elmsicommon(elrp)->msi_optfmask1 & MSI_CMDBLK) == MSI_CMDBLK) { os_std(&Elmsicmdblk(var_elrp)->msi_thread, OS$gen_short, DD$msithread); os_std(&Elmsicmdblk(var_elrp)->msi_status, OS$gen_short, DD$cistatus); os_std(&Elmsicmdblk(var_elrp)->msi_command, OS$gen_short, DD$msicommand); os_std(&Elmsicmdblk(var_elrp)->msi_opcode, OS$gen_short, DD$ciopcode); os_std(&Elmsicmdblk(var_elrp)->msi_dst, OS$gen_tiny, DD$msidst); os_std(&Elmsicmdblk(var_elrp)->msi_src, OS$gen_tiny, DD$msisrc); os_std(&Elmsicmdblk(var_elrp)->msi_length, OS$gen_short, DD$msilength); var_elrp += sizeof(struct msi_cmdblk); } if ((Elmsicommon(elrp)->msi_optfmask1 & MSI_PACKET) == MSI_PACKET) { os_std(&Elmsipacket(var_elrp)->msi_opcode, OS$gen_tiny, DD$pkt_opcode); os_std(&Elmsipacket(var_elrp)->msi_flags, OS$gen_tiny, DD$msiflags); } } break;/*********************************************************************/ case ELUQ_ATTN: os_std(&elrp->elsubid.subid_num, OS$gen_short, DD$controller); os_std(&elrp->elsubid.subid_unitnum, OS$gen_short, DD$unitnumber); os_std(&elrp->elsubid.subid_ctldevtyp, OS$uqtyp, DD$devtype); switch (elrp->elsubid.subid_ctldevtyp) { case ELUQHPT_UDA50: case ELUQHPT_UDA50A: cds_ptr->subtype = DD$UDA5X_ATTN_CDS; if (ini_seg(cds_ptr) == EI$FAIL) status = EI$FAIL; os_std(&elrp->el_body.eluq.sa_contents, OS$gen_long, DD$uda5sa); break; case ELUQHPT_TK50: case ELUQHPT_TK70: cds_ptr->subtype = DD$TK57_ATTN_CDS; if (ini_seg(cds_ptr) == EI$FAIL) status = EI$FAIL; os_std(&elrp->el_body.eluq.sa_contents, OS$gen_long, DD$tk57sa); break; case ELUQHPT_KDB50: cds_ptr->subtype = DD$KDB50_ATTN_CDS; if (ini_seg(cds_ptr) == EI$FAIL)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -