About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / acpi / apei / output_format.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:52 EST.

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.
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog