⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eribld.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
📖 第 1 页 / 共 5 页
字号:
	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 + -