Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/Documentation/acpi/apei/output_format.txt
10823 views
1
APEI output format
2
~~~~~~~~~~~~~~~~~~
3
4
APEI uses printk as hardware error reporting interface, the output
5
format is as follow.
6
7
<error record> :=
8
APEI generic hardware error status
9
severity: <integer>, <severity string>
10
section: <integer>, severity: <integer>, <severity string>
11
flags: <integer>
12
<section flags strings>
13
fru_id: <uuid string>
14
fru_text: <string>
15
section_type: <section type string>
16
<section data>
17
18
<severity string>* := recoverable | fatal | corrected | info
19
20
<section flags strings># :=
21
[primary][, containment warning][, reset][, threshold exceeded]\
22
[, resource not accessible][, latent error]
23
24
<section type string> := generic processor error | memory error | \
25
PCIe error | unknown, <uuid string>
26
27
<section data> :=
28
<generic processor section data> | <memory section data> | \
29
<pcie section data> | <null>
30
31
<generic processor section data> :=
32
[processor_type: <integer>, <proc type string>]
33
[processor_isa: <integer>, <proc isa string>]
34
[error_type: <integer>
35
<proc error type strings>]
36
[operation: <integer>, <proc operation string>]
37
[flags: <integer>
38
<proc flags strings>]
39
[level: <integer>]
40
[version_info: <integer>]
41
[processor_id: <integer>]
42
[target_address: <integer>]
43
[requestor_id: <integer>]
44
[responder_id: <integer>]
45
[IP: <integer>]
46
47
<proc type string>* := IA32/X64 | IA64
48
49
<proc isa string>* := IA32 | IA64 | X64
50
51
<processor error type strings># :=
52
[cache error][, TLB error][, bus error][, micro-architectural error]
53
54
<proc operation string>* := unknown or generic | data read | data write | \
55
instruction execution
56
57
<proc flags strings># :=
58
[restartable][, precise IP][, overflow][, corrected]
59
60
<memory section data> :=
61
[error_status: <integer>]
62
[physical_address: <integer>]
63
[physical_address_mask: <integer>]
64
[node: <integer>]
65
[card: <integer>]
66
[module: <integer>]
67
[bank: <integer>]
68
[device: <integer>]
69
[row: <integer>]
70
[column: <integer>]
71
[bit_position: <integer>]
72
[requestor_id: <integer>]
73
[responder_id: <integer>]
74
[target_id: <integer>]
75
[error_type: <integer>, <mem error type string>]
76
77
<mem error type string>* :=
78
unknown | no error | single-bit ECC | multi-bit ECC | \
79
single-symbol chipkill ECC | multi-symbol chipkill ECC | master abort | \
80
target abort | parity error | watchdog timeout | invalid address | \
81
mirror Broken | memory sparing | scrub corrected error | \
82
scrub uncorrected error
83
84
<pcie section data> :=
85
[port_type: <integer>, <pcie port type string>]
86
[version: <integer>.<integer>]
87
[command: <integer>, status: <integer>]
88
[device_id: <integer>:<integer>:<integer>.<integer>
89
slot: <integer>
90
secondary_bus: <integer>
91
vendor_id: <integer>, device_id: <integer>
92
class_code: <integer>]
93
[serial number: <integer>, <integer>]
94
[bridge: secondary_status: <integer>, control: <integer>]
95
[aer_status: <integer>, aer_mask: <integer>
96
<aer status string>
97
[aer_uncor_severity: <integer>]
98
aer_layer=<aer layer string>, aer_agent=<aer agent string>
99
aer_tlp_header: <integer> <integer> <integer> <integer>]
100
101
<pcie port type string>* := PCIe end point | legacy PCI end point | \
102
unknown | unknown | root port | upstream switch port | \
103
downstream switch port | PCIe to PCI/PCI-X bridge | \
104
PCI/PCI-X to PCIe bridge | root complex integrated endpoint device | \
105
root complex event collector
106
107
if section severity is fatal or recoverable
108
<aer status string># :=
109
unknown | unknown | unknown | unknown | Data Link Protocol | \
110
unknown | unknown | unknown | unknown | unknown | unknown | unknown | \
111
Poisoned TLP | Flow Control Protocol | Completion Timeout | \
112
Completer Abort | Unexpected Completion | Receiver Overflow | \
113
Malformed TLP | ECRC | Unsupported Request
114
else
115
<aer status string># :=
116
Receiver Error | unknown | unknown | unknown | unknown | unknown | \
117
Bad TLP | Bad DLLP | RELAY_NUM Rollover | unknown | unknown | unknown | \
118
Replay Timer Timeout | Advisory Non-Fatal
119
fi
120
121
<aer layer string> :=
122
Physical Layer | Data Link Layer | Transaction Layer
123
124
<aer agent string> :=
125
Receiver ID | Requester ID | Completer ID | Transmitter ID
126
127
Where, [] designate corresponding content is optional
128
129
All <field string> description with * has the following format:
130
131
field: <integer>, <field string>
132
133
Where value of <integer> should be the position of "string" in <field
134
string> description. Otherwise, <field string> will be "unknown".
135
136
All <field strings> description with # has the following format:
137
138
field: <integer>
139
<field strings>
140
141
Where each string in <fields strings> corresponding to one set bit of
142
<integer>. The bit position is the position of "string" in <field
143
strings> description.
144
145
For more detailed explanation of every field, please refer to UEFI
146
specification version 2.3 or later, section Appendix N: Common
147
Platform Error Record.
148
149