-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
866 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
APEI output format | ||
~~~~~~~~~~~~~~~~~~ | ||
|
||
APEI uses printk as hardware error reporting interface, the output | ||
format is as follow. | ||
|
||
<error record> := | ||
APEI generic hardware error status | ||
severity: <integer>, <severity string> | ||
section: <integer>, severity: <integer>, <severity string> | ||
flags: <integer> | ||
<section flags strings> | ||
fru_id: <uuid string> | ||
fru_text: <string> | ||
section_type: <section type string> | ||
<section data> | ||
|
||
<severity string>* := recoverable | fatal | corrected | info | ||
|
||
<section flags strings># := | ||
[primary][, containment warning][, reset][, threshold exceeded]\ | ||
[, resource not accessible][, latent error] | ||
|
||
<section type string> := generic processor error | memory error | \ | ||
PCIe error | unknown, <uuid string> | ||
|
||
<section data> := | ||
<generic processor section data> | <memory section data> | \ | ||
<pcie section data> | <null> | ||
|
||
<generic processor section data> := | ||
[processor_type: <integer>, <proc type string>] | ||
[processor_isa: <integer>, <proc isa string>] | ||
[error_type: <integer> | ||
<proc error type strings>] | ||
[operation: <integer>, <proc operation string>] | ||
[flags: <integer> | ||
<proc flags strings>] | ||
[level: <integer>] | ||
[version_info: <integer>] | ||
[processor_id: <integer>] | ||
[target_address: <integer>] | ||
[requestor_id: <integer>] | ||
[responder_id: <integer>] | ||
[IP: <integer>] | ||
|
||
<proc type string>* := IA32/X64 | IA64 | ||
|
||
<proc isa string>* := IA32 | IA64 | X64 | ||
|
||
<processor error type strings># := | ||
[cache error][, TLB error][, bus error][, micro-architectural error] | ||
|
||
<proc operation string>* := unknown or generic | data read | data write | \ | ||
instruction execution | ||
|
||
<proc flags strings># := | ||
[restartable][, precise IP][, overflow][, corrected] | ||
|
||
<memory section data> := | ||
[error_status: <integer>] | ||
[physical_address: <integer>] | ||
[physical_address_mask: <integer>] | ||
[node: <integer>] | ||
[card: <integer>] | ||
[module: <integer>] | ||
[bank: <integer>] | ||
[device: <integer>] | ||
[row: <integer>] | ||
[column: <integer>] | ||
[bit_position: <integer>] | ||
[requestor_id: <integer>] | ||
[responder_id: <integer>] | ||
[target_id: <integer>] | ||
[error_type: <integer>, <mem error type string>] | ||
|
||
<mem error type string>* := | ||
unknown | no error | single-bit ECC | multi-bit ECC | \ | ||
single-symbol chipkill ECC | multi-symbol chipkill ECC | master abort | \ | ||
target abort | parity error | watchdog timeout | invalid address | \ | ||
mirror Broken | memory sparing | scrub corrected error | \ | ||
scrub uncorrected error | ||
|
||
<pcie section data> := | ||
[port_type: <integer>, <pcie port type string>] | ||
[version: <integer>.<integer>] | ||
[command: <integer>, status: <integer>] | ||
[device_id: <integer>:<integer>:<integer>.<integer> | ||
slot: <integer> | ||
secondary_bus: <integer> | ||
vendor_id: <integer>, device_id: <integer> | ||
class_code: <integer>] | ||
[serial number: <integer>, <integer>] | ||
[bridge: secondary_status: <integer>, control: <integer>] | ||
|
||
<pcie port type string>* := PCIe end point | legacy PCI end point | \ | ||
unknown | unknown | root port | upstream switch port | \ | ||
downstream switch port | PCIe to PCI/PCI-X bridge | \ | ||
PCI/PCI-X to PCIe bridge | root complex integrated endpoint device | \ | ||
root complex event collector | ||
|
||
Where, [] designate corresponding content is optional | ||
|
||
All <field string> description with * has the following format: | ||
|
||
field: <integer>, <field string> | ||
|
||
Where value of <integer> should be the position of "string" in <field | ||
string> description. Otherwise, <field string> will be "unknown". | ||
|
||
All <field strings> description with # has the following format: | ||
|
||
field: <integer> | ||
<field strings> | ||
|
||
Where each string in <fields strings> corresponding to one set bit of | ||
<integer>. The bit position is the position of "string" in <field | ||
strings> description. | ||
|
||
For more detailed explanation of every field, please refer to UEFI | ||
specification version 2.3 or later, section Appendix N: Common | ||
Platform Error Record. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.