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

📄 eribld_aq.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
📖 第 1 页 / 共 3 页
字号:
#ifndef lintstatic char sccsid[]  =  "@(#)eribld_aq.c	4.3   (ULTRIX)   12/20/90"; #endif  lint/*** COPYRIGHT (C) 1989, 1990 DIGITAL EQUIPMENT CORP.,** THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A * SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION* OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,  OR ANY OTHER* COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE* TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO* AGREES TO THESE LICENSE TERMS.  TITLE TO AND OWNERSHIP OF THE* SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.** THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT* NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL* EQUIPMENT CORPORATION.** DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF* ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.**//* #include <stdio.h> */#include <sys/types.h>#include <sys/time.h>#include <sys/errlog.h>#include <machine/cpu.h>/* #include "eims.h" */#include "erms.h"/* #include "select.h" */#include "generic_dsd.h"#include "std_dsd.h"#include "os_dsd.h"#include "eiliterals.h"#include "btliterals.h"/* These structures replace the ones in errlog_aq.h   Errlog structures normally belong in errlog_aq.h   because both kernel code and uerf refer to the same data.   But, these messages are passed from the SPU(console) to   the host already packaged, and the kernel code just dumps   n-bytes into the error log; it doesn't need to know the   real structure.  We originally placed the structure   in the kernel-accessible header file errlog_aq.h.   But then we needed to change the structures after all the   header files and kernel code was frozen.  So, we simply   add the revised structures here.  This source file is the   only source file that actually refers to the structure members.*/struct new_cpusyn {    u_short format;    u_short length;    u_long end_time [2];    u_long begin_time [2];    u_char attn_code;    u_char proc_id; /* Process id                      */    u_short proc_rev; /* Process Revision          */    u_short cpu_num; /* Number of CPUs             */    u_short event_cnt; /* Event count              */    u_long sid;    u_long sys_type;    u_long cpu_id;    char node_name [16];    char bcm_dev_name [24];    long int bcm_rev [3];    char synd_code [52];    char pcs_synd_code [52];    } ;struct new_iosyn {    struct new_cpusyn cpu_synerr;    u_long dev_type;    char dev_name [32];    u_long dev_serial_num [2];    u_long media_type;    char media_label [12];    u_long media_serial_num [2];    u_long mount_time [2];    } ;struct new_scan {	u_long recovery_status;	union {		struct {			u_long ele_number;			u_long mchkid;			u_long rev_reg0;			u_long rev_reg1;			u_long cdc_reg0;			u_long cdc_reg1;			u_long sync_reg0;			u_long sync_reg1;			u_long sync_reg2;			u_long e_errsum_reg;			u_long e_ctl_reg1;			u_long e_ctl_reg2;			u_long e_distr_reg;			u_long e_retire;			u_long e_func_1;			u_long e_func_2;			u_long e_errdat_reg1;			u_long e_errdat_reg2;			u_long e_sts_reg1;			u_long e_sts_reg2;			u_long i_fetch_err1;			u_long i_fetch_err2;			u_long i_decode_err1;			u_long i_xbr_decode;			u_long i_spec_err1;			u_long i_spec_err2;			u_long i_fetch_dat1;			u_long i_fetch_dat2;			u_long i_fetch_dat3;			u_long i_fetch_dat4;			u_long i_fetch_dat5;			u_long i_fetch_dat6;			u_long i_fetch_dat7;			u_long i_fetch_dat8;			u_long i_fetch_dat9;			u_long i_decode_data1;			u_long i_decode_data2;			u_long i_decode_data3;			u_long i_decode_data4;			u_long i_xdata1;			u_long i_xdata2;			u_long i_xdata3;			u_long i_xdata4;			u_long i_spec_data0;			u_long i_spec_data1;			u_long i_spec_data2;			u_long i_spec_data3;			u_long i_spec_data4;			u_long i_spec_data5;			u_long i_spec_data6;			u_long i_spec_data7;			u_long i_spec_data8;			u_long i_spec_data9;			u_long i_spec_data10;			u_long i_spec_data11;			u_long i_spec_data12;			u_long i_spec_data13;			u_long i_spec_data14;			u_long i_spec_data15;			u_long i_fetch_sts1;			u_long i_fetch_sts2;			u_long i_fetch_sts3;			u_long m_err_sum;			u_long m_tb_error;			u_long m_cache_error0;			u_long m_cache_error1;			u_long m_cache_error2;			u_long m_err_data;			u_long m_status;			u_long v_errsum;			u_long v_err0;			u_long v_err1;			u_long v_err2;			u_long v_err3;			u_long v_vcta_sts;			u_long v_vctb_sts;			u_long v_vctc_sts;		} cpu;		struct {			u_long ele_number;			u_long mchkid;			u_long cpu0_scan_num;			u_long cpu1_scan_num;			u_long cpu2_scan_num;			u_long cpu3_scan_num;			u_long mcu_reg;			u_long cdc_reg;			u_long sync_reg0;			u_long sync_reg1;			u_long scu_err_sum;			u_long cpu_cnf;			u_long scu_cnfg;			u_long tag_cnfg0;			u_long tag_cnfg1;			u_long jbox_reg0;			u_long jbox_reg1;			u_long jbox_reg2;			u_long jbox_reg3;			u_long jbox_reg4;			u_long jbox_reg5;			u_long jbox_reg6;			u_long jbox_reg7;			u_long jbox_reg8;			u_long jbox_reg9;			u_long jbox_rega;			u_long jbox_regb;			u_long icu0_reg0;			u_long icu0_reg1;			u_long icu0_reg2;			u_long icu1_reg0;			u_long icu1_reg1;			u_long icu1_reg2;			u_long acu0_reg0;			u_long acu0_reg1;			u_long acu1_reg0;			u_long acu1_reg1;			u_long ser80;			u_long ser81;			u_long ser82;			u_long ser83;			u_long ser84;			u_long ser85;			u_long ser86;			u_long ser87;			u_long ser88;			u_long ser89;			u_long ser8a;		} scu;	} cpuscu;};struct new_bi {	u_long dtype;	union {		struct {			u_long sjcs;			u_long flag;			u_long cmnd;			u_long addr;			u_long datlo;			u_long dathi;			u_long dmask;			u_long dxcs;			u_long dxspu;			u_long dxmem;			u_long dxcnt;			u_long rxpar;		} sja;		struct {			u_long last_error;			u_long dtype;			u_long bicsr;			u_long ber;			u_long gpr0;			u_long gpr1;			u_long gpr2;			u_long gpr3;			u_long sp[8];			u_long scccsr;			u_long clkctl;			u_long dcsr;			u_long dmao;			u_long dmai;			u_long dmam;			u_long dmae;			u_long dyrc;			u_long bci3csr;			u_long bci3dm;			u_long bci3bi;			u_long bci3ii;			u_long bci3ev;			u_long uintcsr;			u_long intrdes;		} scm;	} sjascm;};struct new_kaf {	u_short reserved[3];	u_short create_time[4];	u_char name[256];};struct el_rec_new {	struct el_rhdr elrhdr;			/* record header */	struct el_sub_id elsubid;		/* subsystem id packet */	union {		struct new_cpusyn el_aqcpusyn;		struct new_iosyn el_aqiosyn;		struct new_scan el_aqscan;		struct new_bi el_aqbi;		struct new_kaf el_aqkaf;	} el_body;	char eltrailer[EL_TRAILERSIZE];			/* asc trailer code  */};#define min(a,b) ((b)<(a)?(b):(a))int scan_ads_num;int spu_crd_cnt;int  v9000_bld_spumck(eis_ptr,dis_ptr,cds_ptr,sds_ptr,ads_ptr,sis_ptr,elrp)EIS  *eis_ptr;DIS  *dis_ptr;CDS  *cds_ptr;SDS  *sds_ptr;ADS  *ads_ptr;SIS  *sis_ptr;struct el_rec *elrp;{	int status;		cds_ptr->subtype = DD$MCK9000SPU_CDS;		if (ini_seg(cds_ptr) == EI$FAIL)		    status = EI$FAIL;		sis_ptr->subtype = DD$AQ_SPM_SIS;		if (ini_seg(sis_ptr) == EI$FAIL)		    status = EI$FAIL;		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.length,			OS$gen_long,		DD$mck9000spu_len);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.mchktype,			OS$gen_long,		DD$mcuv2summ);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.vap,			OS$gen_long,		DD$mc1vap);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.state,			OS$gen_long,		DD$mc1int);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.pc,			OS$gen_long,		DD$pc);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.psl,			OS$gen_long,		DD$psl);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.smc0,			OS$gen_long,		DD$mck9000spu_smc0);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.smc1,			OS$gen_long,		DD$mck9000spu_smc1);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.smc2,			OS$gen_long,		DD$mck9000spu_smc2);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.smc3,			OS$gen_long,		DD$mck9000spu_smc3);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.sscbto,			OS$gen_long,		DD$mck9000spu_sscbto);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.dtype,			OS$gen_long,		DD$bidevreg);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.bicsr,			OS$gen_long,		DD$bicsr);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.bicsr,			OS$gen_long,		DD$sum_bicsr);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.ber,			OS$gen_long,		DD$ber);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.ber,			OS$gen_long,		DD$sum_ber);		os_std(&elrp->el_body.elmck.elmck_frame.el9000spumcf.bci3evnt,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -