NetBSD Problem Report #58046
From www@netbsd.org Sun Mar 17 03:28:03 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 5577C1A924E
for <gnats-bugs@gnats.NetBSD.org>; Sun, 17 Mar 2024 03:28:03 +0000 (UTC)
Message-Id: <20240317032802.691F91A924F@mollari.NetBSD.org>
Date: Sun, 17 Mar 2024 03:28:02 +0000 (UTC)
From: campbell+netbsd@mumble.net
Reply-To: campbell+netbsd@mumble.net
To: gnats-bugs@NetBSD.org
Subject: Missing APEI (ACPI Platform Error Interface) support
X-Send-Pr-Version: www-1.0
>Number: 58046
>Category: kern
>Synopsis: Missing APEI (ACPI Platform Error Interface) support
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: riastradh
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Mar 17 03:30:00 +0000 2024
>Closed-Date: Wed Oct 09 14:44:05 +0000 2024
>Last-Modified: Wed Oct 09 14:44:05 +0000 2024
>Originator: Taylor R Campbell
>Release: current, 10, 9, 8, ...
>Organization:
The NetBSD Founderror
>Environment:
>Description:
Machines with EDAC memory (ECC RAM) and other error-detecting/correcting hardware capabilities often expose it through the ACPI Platform Error Interface:
https://uefi.org/specs/ACPI/6.5/18_Platform_Error_Interfaces.html
NetBSD should:
1. log errors
2. ditch pages with uncorrectable errors if possible to do reliably
3. provide a way to inject errors
>How-To-Repeat:
point an ionizing radiation source at your laptop
>Fix:
Yes, please!
>Release-Note:
>Audit-Trail:
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Wed, 20 Mar 2024 03:14:45 +0000
Module Name: src
Committed By: riastradh
Date: Wed Mar 20 03:14:45 UTC 2024
Modified Files:
src/sys/dev/acpi: acpi.c acpivar.h files.acpi
Log Message:
acpi(4): New iattr `apeibus' for attaching an APEI driver.
APEI is the ACPI Platform Error Interface, a standard (if very
complicated) interface for reporting hardware errors to the OS.
Firmware support for APEI is presented through the ACPI tables BERT
(Boot Error Record Table), ERST (Error Record Serialization Table),
EINJ (Error Injection Table), and HEST (Hardware Error Source Table),
rather than through nodes in the ACPI device tree, so it can't just
attach through the existing acpinodebus iattr and instead requires a
special pseudo-bus like acpiwdrt(4).
No driver yet -- this is just the hook to attach one in a module.
The new member sc_apei of struct acpi_softc is placed at the end of
the structure so that this change can be safely pulled up to release
branches without risk to ABI compatibility in existing modules such
as acpiverbose.kmod which may rely on the layout (but not size) of
struct acpi_softc.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.298 -r1.299 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r1.89 -r1.90 src/sys/dev/acpi/acpivar.h
cvs rdiff -u -r1.128 -r1.129 src/sys/dev/acpi/files.acpi
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Wed, 20 Mar 2024 12:43:13 +0000
Module Name: src
Committed By: riastradh
Date: Wed Mar 20 12:43:13 UTC 2024
Modified Files:
src/sys/dev/acpi: files.acpi
Log Message:
acpi(4): Make apeibus actually work as an iattr.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.129 -r1.130 src/sys/dev/acpi/files.acpi
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src
Date: Wed, 20 Mar 2024 17:11:44 +0000
Module Name: src
Committed By: riastradh
Date: Wed Mar 20 17:11:44 UTC 2024
Modified Files:
src/distrib/sets/lists/debug: module.md.amd64 module.md.i386
src/distrib/sets/lists/modules: md.amd64 md.i386
src/sys/arch/amd64/conf: ALL
src/sys/arch/i386/conf: ALL
src/sys/dev/acpi: files.acpi
src/sys/modules: Makefile
Added Files:
src/share/man/man4: apei.4
src/sys/dev/acpi: apei.c apei_bert.c apei_bertvar.h apei_cper.h
apei_einj.c apei_einjvar.h apei_erst.c apei_erstvar.h apei_hed.h
apei_hest.c apei_hestvar.h apei_interp.c apei_interp.h
apei_mapreg.c apei_mapreg.h apei_reg.c apei_reg.h apeivar.h
src/sys/modules/apei: Makefile apei.ioconf
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/debug/module.md.amd64
cvs rdiff -u -r1.8 -r1.9 src/distrib/sets/lists/debug/module.md.i386
cvs rdiff -u -r1.100 -r1.101 src/distrib/sets/lists/modules/md.amd64
cvs rdiff -u -r1.97 -r1.98 src/distrib/sets/lists/modules/md.i386
cvs rdiff -u -r0 -r1.1 src/share/man/man4/apei.4
cvs rdiff -u -r1.184 -r1.185 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.515 -r1.516 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/apei.c src/sys/dev/acpi/apei_bert.c \
src/sys/dev/acpi/apei_bertvar.h src/sys/dev/acpi/apei_cper.h \
src/sys/dev/acpi/apei_einj.c src/sys/dev/acpi/apei_einjvar.h \
src/sys/dev/acpi/apei_erst.c src/sys/dev/acpi/apei_erstvar.h \
src/sys/dev/acpi/apei_hed.h src/sys/dev/acpi/apei_hest.c \
src/sys/dev/acpi/apei_hestvar.h src/sys/dev/acpi/apei_interp.c \
src/sys/dev/acpi/apei_interp.h src/sys/dev/acpi/apei_mapreg.c \
src/sys/dev/acpi/apei_mapreg.h src/sys/dev/acpi/apei_reg.c \
src/sys/dev/acpi/apei_reg.h src/sys/dev/acpi/apeivar.h
cvs rdiff -u -r1.130 -r1.131 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r1.282 -r1.283 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/apei/Makefile \
src/sys/modules/apei/apei.ioconf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Wed, 20 Mar 2024 18:47:59 +0000
Module Name: src
Committed By: riastradh
Date: Wed Mar 20 18:47:59 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_hest.c
Log Message:
apei(4): Pacify -Wsign-compare.
Assert that the parsing made forward progress too while here.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei_hest.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Wed, 20 Mar 2024 19:21:05 +0000
Module Name: src
Committed By: riastradh
Date: Wed Mar 20 19:21:05 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_interp.c
Log Message:
apei(4): Tweak some comments about the APEI interpreter language.
No functional change intended.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei_interp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Thu, 21 Mar 2024 02:35:00 +0000
Module Name: src
Committed By: riastradh
Date: Thu Mar 21 02:35:00 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_einj.c
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei_einj.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Thu, 21 Mar 2024 02:35:09 +0000
Module Name: src
Committed By: riastradh
Date: Thu Mar 21 02:35:09 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_einj.c apei_hest.c
Log Message:
apei(4): Note some TODOs for EINJ and HEST.
No functional change intended, comments only.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/apei_einj.c \
src/sys/dev/acpi/apei_hest.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src
Date: Thu, 21 Mar 2024 02:36:02 +0000
Module Name: src
Committed By: riastradh
Date: Thu Mar 21 02:36:02 UTC 2024
Modified Files:
src/distrib/sets/lists/debug: module.md.amd64 module.md.i386
src/distrib/sets/lists/modules: md.amd64 md.i386
src/share/man/man4: apei.4
src/sys/arch/amd64/conf: ALL
src/sys/arch/i386/conf: ALL
src/sys/dev/acpi: files.acpi
src/sys/modules: Makefile
Added Files:
src/share/man/man4: acpihed.4
src/sys/dev/acpi: acpi_hed.c
src/sys/modules/acpihed: Makefile acpihed.ioconf
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/lists/debug/module.md.amd64
cvs rdiff -u -r1.9 -r1.10 src/distrib/sets/lists/debug/module.md.i386
cvs rdiff -u -r1.101 -r1.102 src/distrib/sets/lists/modules/md.amd64
cvs rdiff -u -r1.98 -r1.99 src/distrib/sets/lists/modules/md.i386
cvs rdiff -u -r0 -r1.1 src/share/man/man4/acpihed.4
cvs rdiff -u -r1.1 -r1.2 src/share/man/man4/apei.4
cvs rdiff -u -r1.185 -r1.186 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.516 -r1.517 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r0 -r1.1 src/sys/dev/acpi/acpi_hed.c
cvs rdiff -u -r1.131 -r1.132 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r1.283 -r1.284 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1 src/sys/modules/acpihed/Makefile \
src/sys/modules/acpihed/acpihed.ioconf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 18:19:03 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 18:19:03 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_interp.c
Log Message:
apei(4): Plug memory leak on teardown of instruction interpreter.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/apei_interp.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 18:19:14 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 18:19:14 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_mapreg.c
Log Message:
apei(4): Fix indexing of multi-unit register access.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei_mapreg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 20:47:31 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 20:47:31 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_mapreg.c
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/apei_mapreg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 20:47:52 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 20:47:52 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_mapreg.c
Log Message:
apei(4): Allow pre-mapping I/O registers too.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/acpi/apei_mapreg.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 20:48:06 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 20:48:05 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_einj.c apei_erst.c apei_interp.c apei_interp.h
apei_reg.c apei_reg.h
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/acpi/apei_einj.c \
src/sys/dev/acpi/apei_interp.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei_erst.c \
src/sys/dev/acpi/apei_interp.h src/sys/dev/acpi/apei_reg.c \
src/sys/dev/acpi/apei_reg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Fri, 22 Mar 2024 20:48:14 +0000
Module Name: src
Committed By: riastradh
Date: Fri Mar 22 20:48:14 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_einj.c apei_erst.c apei_reg.c apei_reg.h
Log Message:
apei(4): Simplify EINJ/ERST register access now that it's pre-mapped.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/acpi/apei_einj.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/acpi/apei_erst.c \
src/sys/dev/acpi/apei_reg.c src/sys/dev/acpi/apei_reg.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Sat, 23 Mar 2024 03:41:35 +0000
Module Name: src
Committed By: riastradh
Date: Sat Mar 23 03:41:35 UTC 2024
Modified Files:
src/sys/dev/acpi: apei.c
Log Message:
apei(4): Make sure to initialize *fatalp in apei_gesb_report.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/acpi/apei.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: [netbsd-10] src/sys/dev/acpi
Date: Mon, 25 Mar 2024 15:05:17 +0000
Module Name: src
Committed By: martin
Date: Mon Mar 25 15:05:17 UTC 2024
Modified Files:
src/sys/dev/acpi [netbsd-10]: acpi.c acpivar.h files.acpi
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #639):
sys/dev/acpi/acpivar.h: revision 1.90
sys/dev/acpi/files.acpi: revision 1.129
sys/dev/acpi/acpi.c: revision 1.299
sys/dev/acpi/files.acpi: revision 1.130
acpi(4): New iattr `apeibus' for attaching an APEI driver.
APEI is the ACPI Platform Error Interface, a standard (if very
complicated) interface for reporting hardware errors to the OS.
Firmware support for APEI is presented through the ACPI tables BERT
(Boot Error Record Table), ERST (Error Record Serialization Table),
EINJ (Error Injection Table), and HEST (Hardware Error Source Table),
rather than through nodes in the ACPI device tree, so it can't just
attach through the existing acpinodebus iattr and instead requires a
special pseudo-bus like acpiwdrt(4).
No driver yet -- this is just the hook to attach one in a module.
The new member sc_apei of struct acpi_softc is placed at the end of
the structure so that this change can be safely pulled up to release
branches without risk to ABI compatibility in existing modules such
as acpiverbose.kmod which may rely on the layout (but not size) of
struct acpi_softc.
PR kern/58046
acpi(4): Make apeibus actually work as an iattr.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.298 -r1.298.4.1 src/sys/dev/acpi/acpi.c
cvs rdiff -u -r1.89 -r1.89.4.1 src/sys/dev/acpi/acpivar.h
cvs rdiff -u -r1.126.4.1 -r1.126.4.2 src/sys/dev/acpi/files.acpi
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Responsible-Changed-From-To: kern-bug-people->riastradh
Responsible-Changed-By: riastradh@NetBSD.org
Responsible-Changed-When: Mon, 25 Mar 2024 17:57:12 +0000
Responsible-Changed-Why:
mine
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/dev/acpi
Date: Thu, 28 Mar 2024 13:40:08 +0000
Module Name: src
Committed By: riastradh
Date: Thu Mar 28 13:40:08 UTC 2024
Modified Files:
src/sys/dev/acpi: apei_einj.c
Log Message:
apei(4): Fix uninitialized stack access in error branch.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/acpi/apei_einj.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src/sys/arch
Date: Sun, 21 Apr 2024 14:11:12 +0000
Module Name: src
Committed By: riastradh
Date: Sun Apr 21 14:11:12 UTC 2024
Modified Files:
src/sys/arch/amd64/conf: GENERIC
src/sys/arch/i386/conf: GENERIC
Log Message:
apei(4), acpihed(4): Enable in x86 GENERIC.
Let's just see how this works out in practice. Might need to reduce
the overhead of each GHES on machines with thousands of them, but
we'll see.
PR kern/58046
To generate a diff of this commit:
cvs rdiff -u -r1.610 -r1.611 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.1254 -r1.1255 src/sys/arch/i386/conf/GENERIC
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Taylor R Campbell" <riastradh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: src
Date: Mon, 19 Aug 2024 15:04:05 +0000
Module Name: src
Committed By: riastradh
Date: Mon Aug 19 15:04:05 UTC 2024
Modified Files:
src/distrib/sets/lists/man: mi
src/distrib/sets/lists/manhtml: mi
src/share/man/man4: Makefile
Log Message:
apei(4), acpihed(4): Wire up man pages to build.
PR kern/58046: Missing APEI (ACPI Platform Error Interface) support
To generate a diff of this commit:
cvs rdiff -u -r1.1784 -r1.1785 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.6 -r1.7 src/distrib/sets/lists/manhtml/mi
cvs rdiff -u -r1.733 -r1.734 src/share/man/man4/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->needs-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 09 Oct 2024 00:53:34 +0000
State-Changed-Why:
Basic functionality is there in HEAD now for error reporting and
injection with BERT, HEST, and EINJ. Still missing a lot -- many
different kinds of error sources, nothing uses ERST, not enabled on
arm64 GENERIC yet -- but it's progress and it should work in 10.
State-Changed-From-To: needs-pullups->pending-pullups
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 09 Oct 2024 00:54:10 +0000
State-Changed-Why:
pullup-10 #936 https://releng.netbsd.org/cgi-bin/req-10.cgi?show=936
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/58046 CVS commit: [netbsd-10] src
Date: Wed, 9 Oct 2024 13:00:14 +0000
Module Name: src
Committed By: martin
Date: Wed Oct 9 13:00:14 UTC 2024
Modified Files:
src/distrib/sets/lists/debug [netbsd-10]: module.md.amd64
module.md.i386
src/distrib/sets/lists/man [netbsd-10]: mi
src/distrib/sets/lists/modules [netbsd-10]: md.amd64 md.i386
src/share/man/man4 [netbsd-10]: Makefile
src/sys/arch/amd64/conf [netbsd-10]: ALL
src/sys/arch/i386/conf [netbsd-10]: ALL
src/sys/dev/acpi [netbsd-10]: files.acpi
src/sys/modules [netbsd-10]: Makefile
Added Files:
src/share/man/man4 [netbsd-10]: acpihed.4 apei.4
src/sys/dev/acpi [netbsd-10]: acpi_hed.c apei.c apei_bert.c
apei_bertvar.h apei_cper.h apei_einj.c apei_einjvar.h apei_erst.c
apei_erstvar.h apei_hed.h apei_hest.c apei_hestvar.h apei_interp.c
apei_interp.h apei_mapreg.c apei_mapreg.h apei_reg.c apei_reg.h
apeivar.h
src/sys/modules/acpihed [netbsd-10]: Makefile acpihed.ioconf
src/sys/modules/apei [netbsd-10]: Makefile apei.ioconf
Log Message:
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
To generate a diff of this commit:
cvs rdiff -u -r1.12.2.1 -r1.12.2.2 \
src/distrib/sets/lists/debug/module.md.amd64
cvs rdiff -u -r1.7.2.1 -r1.7.2.2 src/distrib/sets/lists/debug/module.md.i386
cvs rdiff -u -r1.1757.2.12 -r1.1757.2.13 src/distrib/sets/lists/man/mi
cvs rdiff -u -r1.98.2.1 -r1.98.2.2 src/distrib/sets/lists/modules/md.amd64
cvs rdiff -u -r1.96.2.1 -r1.96.2.2 src/distrib/sets/lists/modules/md.i386
cvs rdiff -u -r1.730.2.2 -r1.730.2.3 src/share/man/man4/Makefile
cvs rdiff -u -r0 -r1.2.4.2 src/share/man/man4/acpihed.4 \
src/share/man/man4/apei.4
cvs rdiff -u -r1.174.4.3 -r1.174.4.4 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.503.4.3 -r1.503.4.4 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r0 -r1.1.4.2 src/sys/dev/acpi/acpi_hed.c \
src/sys/dev/acpi/apei_bert.c src/sys/dev/acpi/apei_bertvar.h \
src/sys/dev/acpi/apei_einjvar.h src/sys/dev/acpi/apei_erstvar.h \
src/sys/dev/acpi/apei_hed.h src/sys/dev/acpi/apei_hestvar.h \
src/sys/dev/acpi/apei_mapreg.h src/sys/dev/acpi/apeivar.h
cvs rdiff -u -r0 -r1.3.4.2 src/sys/dev/acpi/apei.c \
src/sys/dev/acpi/apei_erst.c src/sys/dev/acpi/apei_hest.c \
src/sys/dev/acpi/apei_reg.c src/sys/dev/acpi/apei_reg.h
cvs rdiff -u -r0 -r1.2.4.2 src/sys/dev/acpi/apei_cper.h \
src/sys/dev/acpi/apei_interp.h
cvs rdiff -u -r0 -r1.7.4.2 src/sys/dev/acpi/apei_einj.c
cvs rdiff -u -r0 -r1.4.4.2 src/sys/dev/acpi/apei_interp.c \
src/sys/dev/acpi/apei_mapreg.c
cvs rdiff -u -r1.126.4.2 -r1.126.4.3 src/sys/dev/acpi/files.acpi
cvs rdiff -u -r1.274.2.5 -r1.274.2.6 src/sys/modules/Makefile
cvs rdiff -u -r0 -r1.1.4.2 src/sys/modules/acpihed/Makefile \
src/sys/modules/acpihed/acpihed.ioconf
cvs rdiff -u -r0 -r1.1.4.2 src/sys/modules/apei/Makefile \
src/sys/modules/apei/apei.ioconf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: riastradh@NetBSD.org
State-Changed-When: Wed, 09 Oct 2024 14:44:05 +0000
State-Changed-Why:
fixed in HEAD, pulled up to 10, not gonna happen in 9
pullup-10 #936 https://releng.netbsd.org/cgi-bin/req-10.cgi?show=936
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.