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

📄 kn02ba.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* * @(#)kn02ba.h	4.3	(ULTRIX)	10/16/90 *//************************************************************************ *									* *			Copyright (c) 1989 by				* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   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.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* * Modification History: * * 15-Oct-90	Randall Brown *	Added error handling code. * * 23-Feb-90	Randall Brown *	Created file for support of 3MIN (DS5000_100). * */#define	KN02BA_ADDR_ERR		0x0e000004	/* Address Error Register */#define KN02BA_BOOT_0_REG	0x0e000008	/* Boot 0 Register */#define KN02BA_INTR_REG		0x0e00000c	/* CPU Interrupt Register */#define	KN02BA_MEM_ERR		0x0c400000	/* Memory Error Register */#define PAGE_BOUNDRY_ERR	0x00010000	/*   Page Boundry Error */#define	TRANSFER_LEN_ERR	0x00008000	/*   Transfer Length Error */#define MEM_ERR_DISABLE		0x00004000	/*   Memory Error Disable */#define	LAST_BYTE_ERR_MASK	0x00000f00	/*   Last Byte Error Mask */#define KN02BA_MEM_SIZE		0x0c800000	/* Memory Size Register */#define	KN02BA_16MB_MEM		0x00002000	/* 16MB if set, 4MB otherwise */#define KN02BA_SSR_ADDR		0x1c040100	/* System Support Register */#define	KN02BA_SIR_ADDR		0x1c040110	/* System Interrupt Register */#define	KN02BA_SIRM_ADDR	0x1c040120	/* System Intr Mask Register */#define KN02BA_SL_0_ADDR 0x10000000#define KN02BA_SL_1_ADDR 0x14000000#define KN02BA_SL_2_ADDR 0x18000000#define KN02BA_SL_3_ADDR 0x1c300000#define KN02BA_SL_4_ADDR 0x1c0c0000#define KN02BA_SL_5_ADDR 0x1c100000#define KN02BA_SL_6_ADDR 0x0#define KN02BA_SL_7_ADDR 0x0#define KN02BA_SCSI_ADDR	0x1c300000#define KN02BA_LN_ADDR		0x1c0c0000#define KN02BA_SCC_ADDR		0x1c100000#define	KN02BA_CLOCK_ADDR	0x1c200000	/* Base Address of Clock */#define KN02BA_SCSI_INDEX	3#define KN02BA_LN_INDEX		4#define KN02BA_SCC_INDEX	5#define COMM1_XMIT	0x80000000	/* Comm Port 1 Xmit Intr 	*/#define COMM1_XMIT_DMA	0x40000000	/* Comm Port 1 Xmit DMA Error	*/#define COMM1_RECV	0x20000000	/* Comm Port 1 Recv Intr 	*/#define COMM1_RECV_DMA	0x10000000	/* Comm Port 1 Recv DMA Error	*/#define COMM2_XMIT	0x08000000	/* Comm Port 2 Xmit Intr 	*/#define COMM2_XMIT_DMA	0x04000000	/* Comm Port 2 Xmit DMA Error	*/#define COMM2_RECV	0x02000000	/* Comm Port 2 Recv Intr 	*/#define COMM2_RECV_DMA	0x01000000	/* Comm Port 2 Recv DMA Error	*/#define	RESERVED_23	0x00800000	/* Reserved Bit 23		*/#define	RESERVED_22	0x00400000	/* Reserved Bit 22		*/#define	RESERVED_21	0x00200000	/* Reserved Bit 21		*/#define	RESERVED_20	0x00100000	/* Reserved Bit 20		*/#define SCSI_DMA_INTR	0x00080000	/* SCSI DMA buffer ptr loaded	*/#define SCSI_DMA_ORUN	0x00040000	/* SCSI DMA Overrun Error	*/#define SCSI_DMA_MEM	0x00020000	/* SCSI DMA Mem Read Error	*/#define LANCE_DMA_MEM	0x00010000	/* LANCE DMA Mem Read Error	*/#define RESERVED_15	0x00008000	/* Reserved Bit 15		*/#define	UNSCUR_JMPR	0x00004000	/* Security Mode Jumper		*/#define RESERVED_13	0x00002000	/* Reserved Bit 13		*/#define CPU_IO_TIMEOUT	0x00001000	/* CPU IO-Write Timeout Intr	*/#define RESERVED_11	0x00000800	/* Reserved Bit 11		*/#define NRMOD_JMPR	0x00000400	/* Manufacturing Mode Jumper	*/#define	SCSI_CHIP_INTR	0x00000200	/* SCSI 53c94 Chip Interrupt	*/#define	LANCE_CHIP_INTR	0x00000100	/* LANCE Chip Interrupt		*/#define	SCC1_INTR	0x00000080	/* SCC(1) Intr (Com 2 & kybd)	*/#define	SCC0_INTR	0x00000040	/* SCC(0) Intr (Com 1 & mouse)	*/#define TOY_INTR	0x00000020	/* Clock Interrupt		*/#define	PSWARN		0x00000010	/* Power Supply Warning		*/#define	RESERVED_3	0x00000008	/* Reserved Bit 3		*/#define	SCSI_DATA_RDY	0x00000004	/* SCSI Data Ready		*/#define PBNC		0x00000002	/* PBNC				*/#define	PBNO		0x00000001	/* PBNO				*/#define RESERVED_BITS	(RESERVED_23 | RESERVED_22 | RESERVED_21 | \			 RESERVED_20 | RESERVED_15 | RESERVED_13 | RESERVED_3  )#define SLU_INTR	(COMM1_XMIT | COMM1_XMIT_DMA | COMM1_RECV | \			 COMM1_RECV_DMA | COMM2_XMIT | COMM2_XMIT_DMA | \			 COMM2_RECV | COMM2_RECV_DMA | SCC1_INTR | \			 SCC0_INTR )#define SCSI_INTR	(SCSI_DMA_INTR | SCSI_DMA_ORUN | SCSI_DMA_MEM | \			 SCSI_CHIP_INTR )#define LANCE_INTR	(LANCE_DMA_MEM | LANCE_CHIP_INTR)/*	Theses  masks are defined as the bits that are allowed to continue 	*//*	to cause an interrupt after the mask is set into the SIRM 	*/#define SPL0_MASK	(CPU_IO_TIMEOUT | TOY_INTR)#define	SPL1_MASK	(SPL0_MASK)#define SPL2_MASK	(SPL0_MASK)#define	SPLIO_MASK	(TOY_INTR | CPU_IO_TIMEOUT )#define	SPLCLOCK_MASK	(CPU_IO_TIMEOUT)#define SPLMEM_MASK	(0)#define SPLFPU_MASK	(0)/* SR_IBIT7 allows halt to always come in */#define KN02BA_SR_IMASK0	(SR_IEC | SR_IBIT1 | SR_IBIT2 | SR_IBIT6 | \				 SR_IBIT7 | SR_IBIT8)#define KN02BA_SR_IMASK1	(SR_IEC | SR_IBIT2 | SR_IBIT6 | SR_IBIT7 | \				 SR_IBIT8)#define KN02BA_SR_IMASK2	(SR_IEC | SR_IBIT6 | SR_IBIT7 | SR_IBIT8)#define KN02BA_SR_IMASK5	(SR_IEC | SR_IBIT6 | SR_IBIT7 | SR_IBIT8)#define KN02BA_SR_IMASK6	(KN02BA_SR_IMASK5)#define KN02BA_SR_IMASK7	(KN02BA_SR_IMASK5)#define KN02BA_SR_IMASK8	(SR_IEC | SR_IBIT7)#define CR_FPU		8#define CR_HALT		7#define CR_SYSTEM	6#define CR_OPTION_2	5#define CR_OPTION_1	4#define CR_OPTION_0	3#define CR_SOFTNET	2#define CR_SOFTCLOCK	1#define CR_NONE		0#define	KN02BA_SIRM_K1ADDR	0xbc040120/* rpbfix: don't mask HALT *//*#define KN02BA_SPL_MASK		(SR_IMASK8 | SR_IEC)*/#define KN02BA_SPL_MASK		(0)#define KN02BA_ESRPKT 1#define KN02BA_MEMPKT 2/* * These defines, macros, and variables are for memory parity errors. * Format of "memreg" for logging memory parity errors. */#define SIMMOFF 28#define TYPEOFF 26#define BYTEOFF 25#define DPOFF 24#define TCOUNTOFF 16#define SCOUNTOFF 8#define HCOUNTOFF 0#define MEMREGFMT(simm, type, byte, dp, tcount, scount, hcount) \(simm << SIMMOFF | type << TYPEOFF | byte << BYTEOFF | dp << DPOFF | \tcount << TCOUNTOFF | scount << SCOUNTOFF | hcount << HCOUNTOFF)#define KN02BA_TRANSINTVL (60*15)	/* time delta to enable parity log - 15 mins */#ifdef LANGUAGE_Cstruct trans_errcnt {             /* trans parity errors */    long   trans_last;	/* time of most recent trans err */    long   trans_prev;	/* time of previous trans err */};#define TRANSPAR 0x1#define SOFTPAR 0x2#define HARDPAR 0x3#define MAXSIMM 16struct kn02ba_consinfo_esr_t {    u_int cause;	/* from the exception frame */    u_int epc;		/* from the exception frame */    u_int status;	/* from the exception frame */    u_int badva;	/* from the exception frame */    u_int sp;		/* from the exception frame */    u_int ssr;     	/* system support reg */    u_int sir;     	/* system interrupt reg */	    u_int sirm;    	/* system interrupt mask */};struct kn02ba_consinfo_mem_t {    u_int memreg;    u_int pa;    u_int epc;    u_int badva;};struct kn02ba_consinfo_t {    int	pkt_type;    union {	struct kn02ba_consinfo_esr_t esrp;	struct kn02ba_consinfo_mem_t memp;    } pkt;};    #endif /* LANGUAGE_C */

⌨️ 快捷键说明

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