0001
0002 #ifndef __ALPHA_ERR_EV7_H
0003 #define __ALPHA_ERR_EV7_H 1
0004
0005
0006
0007
0008 struct ev7_pal_logout_subpacket {
0009 u32 mchk_code;
0010 u32 subpacket_count;
0011 u64 whami;
0012 u64 rbox_whami;
0013 u64 rbox_int;
0014 u64 exc_addr;
0015 union el_timestamp timestamp;
0016 u64 halt_code;
0017 u64 reserved;
0018 };
0019
0020
0021
0022
0023 struct ev7_pal_processor_subpacket {
0024 u64 i_stat;
0025 u64 dc_stat;
0026 u64 c_addr;
0027 u64 c_syndrome_1;
0028 u64 c_syndrome_0;
0029 u64 c_stat;
0030 u64 c_sts;
0031 u64 mm_stat;
0032 u64 exc_addr;
0033 u64 ier_cm;
0034 u64 isum;
0035 u64 pal_base;
0036 u64 i_ctl;
0037 u64 process_context;
0038 u64 cbox_ctl;
0039 u64 cbox_stp_ctl;
0040 u64 cbox_acc_ctl;
0041 u64 cbox_lcl_set;
0042 u64 cbox_gbl_set;
0043 u64 bbox_ctl;
0044 u64 bbox_err_sts;
0045 u64 bbox_err_idx;
0046 u64 cbox_ddp_err_sts;
0047 u64 bbox_dat_rmp;
0048 u64 reserved[2];
0049 };
0050
0051
0052
0053
0054 struct ev7_pal_zbox_subpacket {
0055 u32 zbox0_dram_err_status_1;
0056 u32 zbox0_dram_err_status_2;
0057 u32 zbox0_dram_err_status_3;
0058 u32 zbox0_dram_err_ctl;
0059 u32 zbox0_dram_err_adr;
0060 u32 zbox0_dift_timeout;
0061 u32 zbox0_dram_mapper_ctl;
0062 u32 zbox0_frc_err_adr;
0063 u32 zbox0_dift_err_status;
0064 u32 reserved1;
0065 u32 zbox1_dram_err_status_1;
0066 u32 zbox1_dram_err_status_2;
0067 u32 zbox1_dram_err_status_3;
0068 u32 zbox1_dram_err_ctl;
0069 u32 zbox1_dram_err_adr;
0070 u32 zbox1_dift_timeout;
0071 u32 zbox1_dram_mapper_ctl;
0072 u32 zbox1_frc_err_adr;
0073 u32 zbox1_dift_err_status;
0074 u32 reserved2;
0075 u64 cbox_ctl;
0076 u64 cbox_stp_ctl;
0077 u64 zbox0_error_pa;
0078 u64 zbox1_error_pa;
0079 u64 zbox0_ored_syndrome;
0080 u64 zbox1_ored_syndrome;
0081 u64 reserved3[2];
0082 };
0083
0084
0085
0086
0087 struct ev7_pal_rbox_subpacket {
0088 u64 rbox_cfg;
0089 u64 rbox_n_cfg;
0090 u64 rbox_s_cfg;
0091 u64 rbox_e_cfg;
0092 u64 rbox_w_cfg;
0093 u64 rbox_n_err;
0094 u64 rbox_s_err;
0095 u64 rbox_e_err;
0096 u64 rbox_w_err;
0097 u64 rbox_io_cfg;
0098 u64 rbox_io_err;
0099 u64 rbox_l_err;
0100 u64 rbox_whoami;
0101 u64 rbox_imask;
0102 u64 rbox_intq;
0103 u64 rbox_int;
0104 u64 reserved[2];
0105 };
0106
0107
0108
0109
0110 struct ev7_pal_io_one_port {
0111 u64 pox_err_sum;
0112 u64 pox_tlb_err;
0113 u64 pox_spl_cmplt;
0114 u64 pox_trans_sum;
0115 u64 pox_first_err;
0116 u64 pox_mult_err;
0117 u64 pox_dm_source;
0118 u64 pox_dm_dest;
0119 u64 pox_dm_size;
0120 u64 pox_dm_ctrl;
0121 u64 reserved;
0122 };
0123
0124 struct ev7_pal_io_subpacket {
0125 u64 io_asic_rev;
0126 u64 io_sys_rev;
0127 u64 io7_uph;
0128 u64 hpi_ctl;
0129 u64 crd_ctl;
0130 u64 hei_ctl;
0131 u64 po7_error_sum;
0132 u64 po7_uncrr_sym;
0133 u64 po7_crrct_sym;
0134 u64 po7_ugbge_sym;
0135 u64 po7_err_pkt0;
0136 u64 po7_err_pkt1;
0137 u64 reserved[2];
0138 struct ev7_pal_io_one_port ports[4];
0139 };
0140
0141
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151 struct ev7_pal_environmental_subpacket {
0152 u16 cabinet;
0153 u16 drawer;
0154 u16 reserved1[2];
0155 u8 module_type;
0156 u8 unit_id;
0157 u8 reserved2;
0158 u8 condition;
0159 };
0160
0161
0162
0163
0164 static inline int ev7_lf_env_index(int type)
0165 {
0166 BUG_ON((type < EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE)
0167 || (type > EL_TYPE__PAL__ENV__HOT_PLUG));
0168
0169 return type - EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE;
0170 }
0171
0172
0173
0174
0175 struct ev7_pal_subpacket {
0176 union {
0177 struct ev7_pal_logout_subpacket logout;
0178 struct ev7_pal_processor_subpacket ev7;
0179 struct ev7_pal_zbox_subpacket zbox;
0180 struct ev7_pal_rbox_subpacket rbox;
0181 struct ev7_pal_io_subpacket io;
0182 struct ev7_pal_environmental_subpacket env;
0183 u64 as_quad[1];
0184 } by_type;
0185 };
0186
0187
0188
0189
0190 struct ev7_lf_subpackets {
0191 struct ev7_pal_logout_subpacket *logout;
0192 struct ev7_pal_processor_subpacket *ev7;
0193 struct ev7_pal_zbox_subpacket *zbox;
0194 struct ev7_pal_rbox_subpacket *rbox;
0195 struct ev7_pal_io_subpacket *io;
0196 struct ev7_pal_environmental_subpacket *env[7];
0197
0198 unsigned int io_pid;
0199 };
0200
0201 #endif
0202
0203