blob: 918567e8cfd51ae76a2853325403cf4437c27493 [file] [log] [blame]
Borislav Petkovb70ef012009-06-25 19:32:38 +02001#include <linux/module.h>
2#include "edac_mce_amd.h"
Doug Thompsonb52401c2009-05-06 17:57:20 +02003
4/*
5 * string representation for the different MCA reported error types, see F3x48
6 * or MSR0000_0411.
7 */
8const char *tt_msgs[] = { /* transaction type */
9 "instruction",
10 "data",
11 "generic",
12 "reserved"
13};
Borislav Petkovb70ef012009-06-25 19:32:38 +020014EXPORT_SYMBOL_GPL(tt_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020015
16const char *ll_msgs[] = { /* cache level */
17 "L0",
18 "L1",
19 "L2",
20 "L3/generic"
21};
Borislav Petkovb70ef012009-06-25 19:32:38 +020022EXPORT_SYMBOL_GPL(ll_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020023
24const char *rrrr_msgs[] = {
25 "generic",
26 "generic read",
27 "generic write",
28 "data read",
29 "data write",
30 "inst fetch",
31 "prefetch",
32 "evict",
33 "snoop",
34 "reserved RRRR= 9",
35 "reserved RRRR= 10",
36 "reserved RRRR= 11",
37 "reserved RRRR= 12",
38 "reserved RRRR= 13",
39 "reserved RRRR= 14",
40 "reserved RRRR= 15"
41};
Borislav Petkovb70ef012009-06-25 19:32:38 +020042EXPORT_SYMBOL_GPL(rrrr_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020043
44const char *pp_msgs[] = { /* participating processor */
45 "local node originated (SRC)",
46 "local node responded to request (RES)",
47 "local node observed as 3rd party (OBS)",
48 "generic"
49};
Borislav Petkovb70ef012009-06-25 19:32:38 +020050EXPORT_SYMBOL_GPL(pp_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020051
52const char *to_msgs[] = {
53 "no timeout",
54 "timed out"
55};
Borislav Petkovb70ef012009-06-25 19:32:38 +020056EXPORT_SYMBOL_GPL(to_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020057
58const char *ii_msgs[] = { /* memory or i/o */
59 "mem access",
60 "reserved",
61 "i/o access",
62 "generic"
63};
Borislav Petkovb70ef012009-06-25 19:32:38 +020064EXPORT_SYMBOL_GPL(ii_msgs);
Doug Thompsonb52401c2009-05-06 17:57:20 +020065
Borislav Petkov1c43f2e2009-07-23 15:47:51 +020066/*
67 * Map the 4 or 5 (family-specific) bits of Extended Error code to the
68 * string table.
69 */
70const char *ext_msgs[] = {
71 "K8 ECC error", /* 0_0000b */
72 "CRC error on link", /* 0_0001b */
73 "Sync error packets on link", /* 0_0010b */
74 "Master Abort during link operation", /* 0_0011b */
75 "Target Abort during link operation", /* 0_0100b */
76 "Invalid GART PTE entry during table walk", /* 0_0101b */
77 "Unsupported atomic RMW command received", /* 0_0110b */
78 "WDT error: NB transaction timeout", /* 0_0111b */
79 "ECC/ChipKill ECC error", /* 0_1000b */
80 "SVM DEV Error", /* 0_1001b */
81 "Link Data error", /* 0_1010b */
82 "Link/L3/Probe Filter Protocol error", /* 0_1011b */
83 "NB Internal Arrays Parity error", /* 0_1100b */
84 "DRAM Address/Control Parity error", /* 0_1101b */
85 "Link Transmission error", /* 0_1110b */
86 "GART/DEV Table Walk Data error" /* 0_1111b */
87 "Res 0x100 error", /* 1_0000b */
88 "Res 0x101 error", /* 1_0001b */
89 "Res 0x102 error", /* 1_0010b */
90 "Res 0x103 error", /* 1_0011b */
91 "Res 0x104 error", /* 1_0100b */
92 "Res 0x105 error", /* 1_0101b */
93 "Res 0x106 error", /* 1_0110b */
94 "Res 0x107 error", /* 1_0111b */
95 "Res 0x108 error", /* 1_1000b */
96 "Res 0x109 error", /* 1_1001b */
97 "Res 0x10A error", /* 1_1010b */
98 "Res 0x10B error", /* 1_1011b */
99 "ECC error in L3 Cache Data", /* 1_1100b */
100 "L3 Cache Tag error", /* 1_1101b */
101 "L3 Cache LRU Parity error", /* 1_1110b */
102 "Probe Filter error" /* 1_1111b */
Doug Thompsonb52401c2009-05-06 17:57:20 +0200103};
Borislav Petkovb70ef012009-06-25 19:32:38 +0200104EXPORT_SYMBOL_GPL(ext_msgs);