APEI(4)
π©Ί NAME
Okay so bestie, this is apei(4) from the Kernel Interfaces Manual, and it's literally the ACPI Platform Error Interfaces driver β aka APEI. It's giving hardware-error hotline energy. π
β¨ SYNOPSIS
apei* at apeibus?
π DESCRIPTION
apei reports hardware errors discovered through APEI, the ACPI Platform Error Interfaces. No cap, that's the whole vibe. π«Ά
It also supports injecting errors. Yes, literally injecting them. π
π¨ DIAGNOSTICS
When the hardware detects an error and reports it to apei, it will print information about the error to the console. So your console is about to be the group chat where hardware spills the tea. π
Here's an example of a correctable memory error, automatically corrected by the system, with no further intervention needed:
apei0: error source 1 reported hardware error: severity=corrected nentries=1 status=0x12<CE,GEDE_COUNT=0x1>
apei0: error source 1 entry 0: SectionType={0xa5bc1114,0x6f64,0x4ede,0xb8b8,{0x3e,0x83,0xed,0x7c,0x83,0xb1}} (memory error)
apei0: error source 1 entry 0: ErrorSeverity=2 (corrected)
apei0: error source 1 entry 0: Revision=0x201
apei0: error source 1 entry 0: Flags=0x1<PRIMARY>
apei0: error source 1 entry 0: FruText=CorrectedErr
apei0: error source 1 entry 0: MemoryErrorType=8 (PARITY_ERROR)
Here's an example of a fatal uncorrectable memory error:
apei0: error source 0 reported hardware error: severity=fatal nentries=1 status=0x11<UE,GEDE_COUNT=0x1>
apei0: error source 0 entry 0: SectionType={0xa5bc1114,0x6f64,0x4ede,0xb8b8,{0x3e,0x83,0xed,0x7c,0x83,0xb1}} (memory error)
apei0: error source 0 entry 0: ErrorSeverity=1 (fatal)
apei0: error source 0 entry 0: Revision=0x201
apei0: error source 0 entry 0: Flags=0x1<PRIMARY>
apei0: error source 0 entry 0: FruText=UncorrectedErr
apei0: error source 0 entry 0: ErrorStatus=0x400<ErrorType=0x4=ERR_MEM>
apei0: error source 0 entry 0: Node=0x0
apei0: error source 0 entry 0: Module=0x0
apei0: error source 0 entry 0: Device=0x0
panic: fatal hardware error
That last panic: fatal hardware error line is the dramatic part, bestie. π
Details of the hardware error sources can be dumped with acpidump(8).
π SEE ALSO
acpi(4)acpihed(4)acpidump(8)- ACPI Specification 6.5,
https://uefi.org/specs/ACPI/6.5/18_Platform_Error_Interfaces.html, Chapter 18: ACPI Platform Error Interfaces (APEI).
π°οΈ HISTORY
The apei driver first appeared in NetBSD 10.1. Periodt. β¨
π AUTHORS
The apei driver was written by Taylor R Campbell <riastradh@NetBSD.org>. Iconic. π
π BUGS
Okay bestie, the bug list is giving "we're so real for this" energy. Here's every single one:
- No sysctl interface to read BERT after boot. BERT stays unread after boot. π
- No simple sysctl interface to inject errors with EINJ, or any way to inject errors at physical addresses in pages allocated for testing. Perhaps there should be a separate kernel module for that.
- Nothing reads, writes, or clears ERST. NetBSD could use it to store
dmesgor other diagnostic information on panic. - Many hardware error source types in the HEST are missing, such as PCIe errors.
apeiis not wired to any machine-dependent machine check exception notifications.- No formal log format or sysctl/device interface that programs can reliably act on.
- NetBSD makes no attempt to recover from uncorrectable but recoverable errors, such as discarding a clean cached page where an uncorrectable memory error has occurred.
π«Ά That's the whole page, bestie β footer says Debian, March 18, 2024, and this manual is APEI(4). Byeee! π
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright (c) 2024 The NetBSD Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms