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:

NetBSD Home
NetBSD PR Database Search

(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.