Home | History | Annotate | Download | only in acpi
History log of /src/sys/dev/acpi/apei.c
RevisionDateAuthorComments
 1.9  27-Oct-2024  riastradh apei(4): Print non-fatal uncorrectable PCIe AER errors as intended.

Noted by rillig@.

PR kern/58775: apei(4) spamming console
 1.8  27-Oct-2024  riastradh apei(4): Print PCIe cap and AER extcap registers in 32-bit chunks.

PR kern/58775: apei(4) spamming console
 1.7  27-Oct-2024  riastradh apei(4): Print PCIe errors.

PR kern/58775: apei(4) spamming console
 1.6  27-Oct-2024  riastradh apei(4): Add section numbering in comments on error types.

This will make it easier to keep the sections sorted by the spec's
section numbers when we add more.

Preparation for:

PR kern/58775: apei(4) spamming console
 1.5  27-Oct-2024  riastradh apei(4): Rate-limit error reports to console.

For each severity level (corrected, uncorrectable/recoverable,
uncorrectable/fatal, other), print at most one report per minute,
and, if any reports were suppressed, the number of reports that had
been suppressed since the last one, up to a maximum of 2^32 - 1.

PR kern/58775: apei(4) spamming console
 1.4  27-Oct-2024  riastradh apei(4): Fix format of CPER UUID strings to match UEFI spec.

PR kern/58775: apei(4) spamming console
 1.3  26-Mar-2024  rillig branches: 1.3.4;
apei: fix typos in comments
 1.2  23-Mar-2024  riastradh apei(4): Make sure to initialize *fatalp in apei_gesb_report.

PR kern/58046
 1.1  20-Mar-2024  riastradh apei(4): New driver for ACPI Platform Error Interfaces.

For now it is wired up only in x86 ALL kernels, and built as a module
for x86 and Arm. Once it gets a little more testing on machines with
APEI, I would like to flip it on by default.

PR kern/58046
 1.3.4.3  01-Nov-2024  martin Pull up following revision(s) (requested by riastradh in ticket #994):

sys/dev/acpi/apei_cper.h: revision 1.3
sys/dev/acpi/apei_cper.h: revision 1.4
sys/dev/acpi/apei_cper.h: revision 1.5
sys/dev/acpi/apei_hest.c: revision 1.4
sys/dev/acpi/apei_hest.c: revision 1.5
sys/dev/acpi/apei_hest.c: revision 1.6
sys/dev/acpi/apei.c: revision 1.4
sys/dev/acpi/apei.c: revision 1.5
sys/dev/acpi/apei.c: revision 1.6
sys/dev/acpi/apei.c: revision 1.7
sys/dev/acpi/apei.c: revision 1.8
sys/dev/acpi/apei.c: revision 1.9

apei(4): Paranoia: Clamp multiplication to SIZE_MAX too.

This makes it clear that the result is guaranteed not to overflow
size_t. Previously it was only implied because on all NetBSD ports,
SIZE_MAX > INT32_MAX, but let's make it clearer instead of relying on
tacitly on that assumption.

No functional change intended.

Noticed while preparing for:
PR kern/58775: apei(4) spamming console


apei(4): Use __SIMPLELOCK_UNLOCKED to initialize __cpu_simple_lock_t.
Zero-initialization is wrong on some architectures. While it happens
to work on x86 (and this is under ifdef x86), let's just do the right
thing to make it clearer.

Noticed while preparing for:
PR kern/58775: apei(4) spamming console


apei(4): Paranoia: Don't schedule callout if poll interval is zero.
Prompted by making sure there isn't a runaway callout in:
PR kern/58775: apei(4) spamming console


apei(4): Fix format of CPER UUID strings to match UEFI spec.
PR kern/58775: apei(4) spamming console
apei(4): Rate-limit error reports to console.

For each severity level (corrected, uncorrectable/recoverable,
uncorrectable/fatal, other), print at most one report per minute,
and, if any reports were suppressed, the number of reports that had
been suppressed since the last one, up to a maximum of 2^32 - 1.
PR kern/58775: apei(4) spamming console


apei(4): Fix comments citing structure member names.
No functional change intended.
In preparation for further changes for:
PR kern/58775: apei(4) spamming console


apei(4): Add section numbering in comments on error types.
This will make it easier to keep the sections sorted by the spec's
section numbers when we add more.
Preparation for:
PR kern/58775: apei(4) spamming console


apei(4): Print PCIe errors.
PR kern/58775: apei(4) spamming console


apei(4): Print PCIe cap and AER extcap registers in 32-bit chunks.
PR kern/58775: apei(4) spamming console


apei(4): Print non-fatal uncorrectable PCIe AER errors as intended.
Noted by rillig@.
PR kern/58775: apei(4) spamming console
 1.3.4.2  09-Oct-2024  martin Pull up following revision(s) (requested by riastradh in ticket #936):

sys/dev/acpi/apei_einjvar.h: revision 1.1
sys/dev/acpi/apei_cper.h: revision 1.2
distrib/sets/lists/debug/module.md.i386: revision 1.9
sys/dev/acpi/apei_hest.c: revision 1.1
sys/modules/apei/Makefile: revision 1.1
sys/dev/acpi/apei_hest.c: revision 1.2
distrib/sets/lists/modules/md.amd64: revision 1.101
sys/dev/acpi/apei_hest.c: revision 1.3
distrib/sets/lists/modules/md.amd64: revision 1.102
sys/modules/apei/apei.ioconf: revision 1.1
sys/dev/acpi/apei_bert.c: revision 1.1
distrib/sets/lists/man/mi: revision 1.1785
sys/dev/acpi/apei_bertvar.h: revision 1.1
sys/dev/acpi/apei.c: revision 1.1
sys/dev/acpi/apei.c: revision 1.2
sys/dev/acpi/apei.c: revision 1.3
sys/modules/Makefile: revision 1.283
sys/modules/Makefile: revision 1.284
sys/dev/acpi/apei_reg.c: revision 1.1
sys/dev/acpi/apei_hestvar.h: revision 1.1
distrib/sets/lists/debug/module.md.i386: revision 1.10
sys/dev/acpi/apei_reg.c: revision 1.2
sys/dev/acpi/apei_reg.c: revision 1.3
sys/dev/acpi/apei_reg.h: revision 1.1
sys/dev/acpi/apei_reg.h: revision 1.2
sys/dev/acpi/apei_reg.h: revision 1.3
sys/dev/acpi/acpi_hed.c: revision 1.1
sys/dev/acpi/apei_einj.c: revision 1.1
sys/dev/acpi/apeivar.h: revision 1.1
sys/dev/acpi/apei_einj.c: revision 1.2
sys/dev/acpi/apei_einj.c: revision 1.3
sys/dev/acpi/apei_einj.c: revision 1.4
sys/dev/acpi/apei_einj.c: revision 1.5
share/man/man4/Makefile: revision 1.734
sys/dev/acpi/apei_einj.c: revision 1.6
sys/dev/acpi/apei_einj.c: revision 1.7
sys/dev/acpi/files.acpi: revision 1.131
sys/dev/acpi/files.acpi: revision 1.132
sys/dev/acpi/apei_interp.c: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.2
share/man/man4/acpihed.4: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.3
share/man/man4/acpihed.4: revision 1.2
distrib/sets/lists/modules/md.i386: revision 1.98
sys/dev/acpi/apei_mapreg.c: revision 1.2
sys/dev/acpi/apei_interp.h: revision 1.1
sys/dev/acpi/apei_interp.c: revision 1.4
distrib/sets/lists/modules/md.i386: revision 1.99
sys/modules/acpihed/Makefile: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.3
sys/dev/acpi/apei_interp.h: revision 1.2
sys/arch/amd64/conf/ALL: revision 1.185
sys/dev/acpi/apei_mapreg.h: revision 1.1
sys/dev/acpi/apei_mapreg.c: revision 1.4
sys/arch/amd64/conf/ALL: revision 1.186
sys/dev/acpi/apei_erstvar.h: revision 1.1
sys/dev/acpi/apei_erst.c: revision 1.1
sys/dev/acpi/apei_erst.c: revision 1.2
sys/dev/acpi/apei_erst.c: revision 1.3
sys/arch/i386/conf/ALL: revision 1.516
share/man/man4/apei.4: revision 1.1
sys/arch/i386/conf/ALL: revision 1.517
share/man/man4/apei.4: revision 1.2
distrib/sets/lists/debug/module.md.amd64: revision 1.15
sys/modules/acpihed/acpihed.ioconf: revision 1.1
sys/dev/acpi/apei_hed.h: revision 1.1
distrib/sets/lists/debug/module.md.amd64: revision 1.16
sys/dev/acpi/apei_cper.h: revision 1.1

(all via patch)

apei(4): New driver for ACPI Platform Error Interfaces.

For now it is wired up only in x86 ALL kernels, and built as a module
for x86 and Arm. Once it gets a little more testing on machines with
APEI, I would like to flip it on by default.
PR kern/58046

apei(4): Pacify -Wsign-compare.
Assert that the parsing made forward progress too while here.
PR kern/58046

apei(4): Tweak some comments about the APEI interpreter language.
No functional change intended.
PR kern/58046

apei(4): Fix parsing checks for TRIGGER_ERROR action table.
The TableSize is size of the header plus the body, not just the body.
PR kern/58046
apei(4): Note some TODOs for EINJ and HEST.
No functional change intended, comments only.
PR kern/58046

acpihed(4): New driver for PNP0C33 to notify apei(4).
PNP0C33 denotes the ACPI Hardware Error Device, which exists only to
be a vector for event notifications.
PR kern/58046

acpihed(4): fix name in Dt, use Ql
apei(4): Plug memory leak on teardown of instruction interpreter.
PR kern/58046
apei(4): Fix indexing of multi-unit register access.
PR kern/58046

apei(4): Fix register chunk counting.
Now it will actually read and write the registers!
Have been updating and reloading the wrong module to test this, oops.
PR kern/58046

apei(4): Allow pre-mapping I/O registers too.
PR kern/58046

apei(4): Pre-map registers when compiling interpreter.
This way we don't have to worry about mapping them in nasty contexts
where access to uvm_km_alloc may not be allowed. Paves the way to
use ERST for saving dmesg on crash.
Exception: ACPI_ERST_MOVE_DATA still needs to do AcpiOsMapMemory.
We'll need to reserve a couple pages to avoid that.
PR kern/58046

apei(4): Simplify EINJ/ERST register access now that it's pre-mapped.
PR kern/58046
apei(4): Make sure to initialize *fatalp in apei_gesb_report.
PR kern/58046

apei: fix typos in comments

apei: fix typos in comments and snprintb bitfmt

apei(4): Fix uninitialized stack access in error branch.
PR kern/58046

apei(4), acpihed(4): Wire up man pages to build.
PR kern/58046: Missing APEI (ACPI Platform Error Interface) support
 1.3.4.1  26-Mar-2024  martin file apei.c was added on branch netbsd-10 on 2024-10-09 13:00:11 +0000

RSS XML Feed