10 #include <linux/sched.h>
33 unsigned long *ldata =
data;
36 for (i = 0; (i *
sizeof(*ldata)) < length; i++) {
37 if (annotation && !annotation[i])
39 printk(
"%s %08x: %016lx %s\n",
41 (
unsigned)(i *
sizeof(*ldata)), ldata[i],
42 annotation ? annotation[i] :
"");
49 printk(
"%s -- Frame Header --\n"
50 " Frame Size: %d (0x%x) bytes\n"
54 " Proc Offset: 0x%08x\n"
55 " Sys Offset: 0x%08x\n"
56 " -- Processor Region --\n",
58 mchk_header->
size, mchk_header->
size,
59 mchk_header->
retry ?
"RETRY " :
"",
60 mchk_header->
err2 ?
"SECOND_ERR " :
"",
67 ((
unsigned long)mchk_header + mchk_header->
proc_offset),
73 ((
unsigned long)mchk_header + mchk_header->
sys_offset),
91 char *
name =
"UNKNOWN EVENT";
96 printk(
"%s** Unexpected header CLASS %d TYPE %d, aborting\n",
102 switch(header->
type) {
104 name =
"SYSTEM ERROR";
111 name =
"SYSTEM EVENT";
125 name =
"LOGOUT FRAME";
131 printk(
"%s** Unknown header - CLASS %d TYPE %d, aborting\n",
138 " CLASS %d, TYPE %d\n",
162 if (h) next = h->
handler(header);
171 printk(
"%s TIMESTAMP: %d/%d/%02d %d:%02d:%0d\n",
173 timestamp->
b.month, timestamp->
b.day,
174 timestamp->
b.year, timestamp->
b.hour,
175 timestamp->
b.minute, timestamp->
b.second);
185 ((
unsigned long)header + header->
length);
187 for (i = 0; subpacket && i < packet_count; i++) {
198 switch(header->
class) {
203 next = el_process_header_subpacket(header);
206 if (
NULL == (next = el_process_subpacket_reg(header))) {
207 printk(
"%s** Unexpected header CLASS %d TYPE %d"
224 for (a = subpacket_annotation_list;
a; a = a->
next) {
247 printk(
"%s******* CONSOLE DATA LOG FOR CPU %d. *******\n"
248 "*** Error(s) were logged on a previous boot\n",
257 printk(
"%s*** %d total error(s) logged\n"
258 "**** END OF CONSOLE DATA LOG FOR CPU %d ****\n",
268 for (cpu = 0; cpu <
hwrpb->nr_processors; cpu++) {
270 ((
unsigned long)
hwrpb +
hwrpb->processor_offset
271 + cpu *
hwrpb->processor_size);
273 cdl_process_console_data_log(cpu, pcpu);
283 if (a ==
NULL) subpacket_annotation_list =
new;
286 if ((a->
class == new->class && a->
type == new->type) ||
288 printk(
"Attempted to re-register "
289 "subpacket annotation\n");
305 if (h ==
NULL) subpacket_handler_list =
new;
308 if (h->
class == new->class || h ==
new) {
309 printk(
"Attempted to re-register "
310 "subpacket handler\n");