158 lines
3.6 KiB
C
158 lines
3.6 KiB
C
/*++
|
|
|
|
Copyright (C) 1992 NCR Corporation
|
|
|
|
|
|
Module Name:
|
|
|
|
ncrarb.h
|
|
|
|
Author:
|
|
|
|
Abstract:
|
|
|
|
System equates for dealing with the NCR Arbiter ASIC.
|
|
|
|
++*/
|
|
|
|
#ifndef _NCRARB_
|
|
#define _NCRARB_
|
|
|
|
|
|
/* Level 4 Arbiter ASIC ID */
|
|
#define SBA_ID_L4 0xC1
|
|
|
|
/* Arbiter Register Addresses and their bit definitions */
|
|
|
|
#define SBA_Dev_Id 0x00
|
|
#define SBA_Dev_Info 0x01
|
|
#define SBA_CAT_Cntl1 0x02
|
|
#define SBA_Extended_Reg_Data 0x03
|
|
#define SBA_Extended_Reg_Addr 0x06
|
|
|
|
#define SBA_Intr_Stat1 0x08
|
|
# define SBA_Proto_Err_A 0x80
|
|
# define SBA_Proto_Err_B 0x40
|
|
# define SBA_Toe_A 0x20
|
|
# define SBA_Toe_B 0x10
|
|
# define SBA_Elatchd_A 0x08
|
|
# define SBA_Elatchd_B 0x04
|
|
# define SBA_Par_Int_A 0x02
|
|
# define SBA_Par_Int_B 0x01
|
|
|
|
#define SBA_Intr_Stat2 0x09
|
|
# define SBA_Reserved 0x80
|
|
# define SBA_Sw_Nmi 0x40
|
|
# define SBA_Error_Int 0x20
|
|
# define SBA_Power_Fail 0x10
|
|
# define SBA_Exp_Cougar_Nmi 0x08
|
|
# define SBA_Exp_Mc_Toe 0x04
|
|
# define SBA_Cougar_Nmi 0x02
|
|
# define SBA_Mc_Toe 0x01
|
|
|
|
#define SBA_SysInt_Enables 0x0A
|
|
# define SBA_Toe_S 0x80
|
|
# define SBA_Par_Int_S 0x40
|
|
# define SBA_Err_Int_S 0x20
|
|
# define SBA_Power_Fail_S 0x10
|
|
# define SBA_Exp_Cougar_Nmi_S 0x08
|
|
# define SBA_Exp_Mc_Toe_S 0x04
|
|
# define SBA_Cougar_Nmi_S 0x02
|
|
# define SBA_Mc_Toe_S 0x01
|
|
|
|
#define SBA_GNMI_Enables 0x0B
|
|
# define SBA_Toe_G 0x80
|
|
# define SBA_Par_Int_G 0x40
|
|
# define SBA_Err_Int_G 0x20
|
|
# define SBA_Power_Fail_G 0x10
|
|
# define SBA_Exp_Cougar_Nmi_G 0x08
|
|
# define SBA_Exp_Mc_Toe_G 0x04
|
|
# define SBA_Cougar_Nmi_G 0x02
|
|
# define SBA_Mc_Toe_G 0x01
|
|
|
|
#define SBA_Control 0x0C
|
|
|
|
#define SBA_Intr_Clear 0x0D
|
|
# define SBA_Err_Int_Clr 0x10
|
|
# define SBA_Par_Clr_A 0x08
|
|
# define SBA_Par_Clr_B 0x04
|
|
# define SBA_Err_Clr_A 0x02
|
|
# define SBA_Err_Clr_B 0x01
|
|
|
|
#define SBA_Misc 0x0E
|
|
|
|
#define SBA_CAT_Cntl2 0x0F
|
|
# define SBA_Reset_Not_Compl 0x80
|
|
# define SBA_Cat_Inst_Perr 0x08
|
|
|
|
/* Extended Registers; Accessed via SBA_Extended_Reg_Data &
|
|
** SBA_Extended_Reg_Data above
|
|
*/
|
|
|
|
#define SBA_Size_Subaddress 0x08
|
|
|
|
#define SBA_Ext_Err0_BusA 0x00
|
|
#define SBA_Ext_Err1_BusA 0x01
|
|
#define SBA_Ext_Err2_BusA 0x02
|
|
# define SBA_ErrParInt 0x20
|
|
#define SBA_Ext_Err3_BusA 0x03
|
|
|
|
#define SBA_Ext_Err4_BusB 0x04
|
|
#define SBA_Ext_Err5_BusB 0x05
|
|
#define SBA_Ext_Err6_BusB 0x06
|
|
#define SBA_Ext_Err7_BusB 0x07
|
|
|
|
|
|
|
|
|
|
/* Valuable Arbiter error information to be captured when SYS_INT or
|
|
** G_NMI occurs.
|
|
*/
|
|
typedef struct SBA_INFO {
|
|
UCHAR Flag; /* for state of information in struct */
|
|
union {
|
|
CAT_REGISTERS CatRegs;
|
|
struct {
|
|
UCHAR Dummy0;
|
|
UCHAR Dummy1;
|
|
UCHAR Dummy2;
|
|
UCHAR Dummy3;
|
|
UCHAR Dummy4;
|
|
UCHAR Dummy5;
|
|
UCHAR Dummy6;
|
|
UCHAR Dummy7;
|
|
UCHAR InterruptStatus1;
|
|
UCHAR InterruptStatus2;
|
|
UCHAR SysIntEnables;
|
|
UCHAR GlobalNmiEnables;
|
|
UCHAR ArbControl;
|
|
UCHAR InterruptClear;
|
|
UCHAR Misc;
|
|
UCHAR DummyF;
|
|
} ArbRegisters;
|
|
} CatRegisters;
|
|
UCHAR ExtError0BusA; /* for PAR_INT */
|
|
UCHAR ExtError1BusA; /* for PAR_INT */
|
|
UCHAR ExtError2BusA; /* for ERROR_L */
|
|
UCHAR ExtError3BusA; /* for ERROR_L */
|
|
UCHAR ExtError4BusB; /* for PAR_INT */
|
|
UCHAR ExtError5BusB; /* for PAR_INT */
|
|
UCHAR ExtError6BusB; /* for ERROR_L */
|
|
UCHAR ExtError7BusB; /* for ERROR_L */
|
|
} SBA_INFO, *PSBA_INFO;
|
|
|
|
/* defines for union referencing */
|
|
#define Intr_Stat1 CatRegisters.ArbRegisters.InterruptStatus1
|
|
#define Intr_Stat2 CatRegisters.ArbRegisters.InterruptStatus2
|
|
#define SysIntEnables CatRegisters.ArbRegisters.SysIntEnables
|
|
#define GNMIEnables CatRegisters.ArbRegisters.GlobalNmiEnables
|
|
#define ArbControl CatRegisters.ArbRegisters.ArbControl
|
|
#define InterruptClear CatRegisters.ArbRegisters.InterruptClear
|
|
#define Misc CatRegisters.ArbRegisters.Misc
|
|
|
|
|
|
#endif // _NCRARB_
|
|
|
|
|
|
|