10 #include <linux/sched.h>
40 ((
unsigned long)el_ptr + el_ptr->
length);
58 subpacket && i < lf_subpackets->
logout->subpacket_count;
60 ((
unsigned long)subpacket + subpacket->
length), i++) {
65 printk(
"%s**UNEXPECTED SUBPACKET CLASS %d "
66 "IN LOGOUT FRAME (packet %d\n",
74 switch(subpacket->
type) {
103 lf_subpackets->
env[ev7_lf_env_index(subpacket->
type)] =
116 return lf_subpackets;
132 printk(
"%s*CPU %s Error (Vector 0x%x) reported on CPU %d\n",
146 static char *el_ev7_processor_subpacket_annotation[] = {
147 "Subpacket Header",
"I_STAT",
"DC_STAT",
148 "C_ADDR",
"C_SYNDROME_1",
"C_SYNDROME_0",
149 "C_STAT",
"C_STS",
"MM_STAT",
150 "EXC_ADDR",
"IER_CM",
"ISUM",
151 "PAL_BASE",
"I_CTL",
"PROCESS_CONTEXT",
152 "CBOX_CTL",
"CBOX_STP_CTL",
"CBOX_ACC_CTL",
153 "CBOX_LCL_SET",
"CBOX_GLB_SET",
"BBOX_CTL",
154 "BBOX_ERR_STS",
"BBOX_ERR_IDX",
"CBOX_DDP_ERR_STS",
158 static char *el_ev7_zbox_subpacket_annotation[] = {
160 "ZBOX(0): DRAM_ERR_STATUS_2 / DRAM_ERR_STATUS_1",
161 "ZBOX(0): DRAM_ERROR_CTL / DRAM_ERR_STATUS_3",
162 "ZBOX(0): DIFT_TIMEOUT / DRAM_ERR_ADR",
163 "ZBOX(0): FRC_ERR_ADR / DRAM_MAPPER_CTL",
164 "ZBOX(0): reserved / DIFT_ERR_STATUS",
165 "ZBOX(1): DRAM_ERR_STATUS_2 / DRAM_ERR_STATUS_1",
166 "ZBOX(1): DRAM_ERROR_CTL / DRAM_ERR_STATUS_3",
167 "ZBOX(1): DIFT_TIMEOUT / DRAM_ERR_ADR",
168 "ZBOX(1): FRC_ERR_ADR / DRAM_MAPPER_CTL",
169 "ZBOX(1): reserved / DIFT_ERR_STATUS",
170 "CBOX_CTL",
"CBOX_STP_CTL",
171 "ZBOX(0)_ERROR_PA",
"ZBOX(1)_ERROR_PA",
172 "ZBOX(0)_ORED_SYNDROME",
"ZBOX(1)_ORED_SYNDROME",
176 static char *el_ev7_rbox_subpacket_annotation[] = {
177 "Subpacket Header",
"RBOX_CFG",
"RBOX_N_CFG",
178 "RBOX_S_CFG",
"RBOX_E_CFG",
"RBOX_W_CFG",
179 "RBOX_N_ERR",
"RBOX_S_ERR",
"RBOX_E_ERR",
180 "RBOX_W_ERR",
"RBOX_IO_CFG",
"RBOX_IO_ERR",
181 "RBOX_L_ERR",
"RBOX_WHOAMI",
"RBOX_IMASL",
182 "RBOX_INTQ",
"RBOX_INT",
NULL
185 static char *el_ev7_io_subpacket_annotation[] = {
186 "Subpacket Header",
"IO_ASIC_REV",
"IO_SYS_REV",
187 "IO7_UPH",
"HPI_CTL",
"CRD_CTL",
188 "HEI_CTL",
"PO7_ERROR_SUM",
"PO7_UNCRR_SYM",
189 "PO7_CRRCT_SYM",
"PO7_UGBGE_SYM",
"PO7_ERR_PKT0",
190 "PO7_ERR_PKT1",
"reserved",
"reserved",
191 "PO0_ERR_SUM",
"PO0_TLB_ERR",
"PO0_SPL_COMPLT",
192 "PO0_TRANS_SUM",
"PO0_FIRST_ERR",
"PO0_MULT_ERR",
193 "DM CSR PH",
"DM CSR PH",
"DM CSR PH",
194 "DM CSR PH",
"reserved",
195 "PO1_ERR_SUM",
"PO1_TLB_ERR",
"PO1_SPL_COMPLT",
196 "PO1_TRANS_SUM",
"PO1_FIRST_ERR",
"PO1_MULT_ERR",
197 "DM CSR PH",
"DM CSR PH",
"DM CSR PH",
198 "DM CSR PH",
"reserved",
199 "PO2_ERR_SUM",
"PO2_TLB_ERR",
"PO2_SPL_COMPLT",
200 "PO2_TRANS_SUM",
"PO2_FIRST_ERR",
"PO2_MULT_ERR",
201 "DM CSR PH",
"DM CSR PH",
"DM CSR PH",
202 "DM CSR PH",
"reserved",
203 "PO3_ERR_SUM",
"PO3_TLB_ERR",
"PO3_SPL_COMPLT",
204 "PO3_TRANS_SUM",
"PO3_FIRST_ERR",
"PO3_MULT_ERR",
205 "DM CSR PH",
"DM CSR PH",
"DM CSR PH",
206 "DM CSR PH",
"reserved",
214 "EV7 Processor Subpacket",
215 el_ev7_processor_subpacket_annotation),
219 "EV7 ZBOX Subpacket",
220 el_ev7_zbox_subpacket_annotation),
224 "EV7 RBOX Subpacket",
225 el_ev7_rbox_subpacket_annotation),
230 el_ev7_io_subpacket_annotation)
239 printk(
"%s ** Unexpected header CLASS %d TYPE %d, aborting\n",
247 switch(header->
type) {
249 printk(
"%s*** MCHK occurred on LPID %lld (RBOX %llx)\n",
254 printk(
"%s EXC_ADDR: %016llx\n"
255 " HALT_CODE: %llx\n",
263 printk(
"%s ** PAL TYPE %d SUBPACKET\n",
281 for (i = 0; i <
ARRAY_SIZE(el_ev7_pal_annotations); i++)