linux/drivers/acpi/apei
Mauro Carvalho Chehab 1f2f0ff3ca efi/cper: align ARM CPER type with UEFI 2.9A/2.10 specs
[ Upstream commit 96b010536e ]

Up to UEFI spec 2.9, the type byte of CPER struct for ARM processor
was defined simply as:

Type at byte offset 4:

	- Cache error
	- TLB Error
	- Bus Error
	- Micro-architectural Error
	All other values are reserved

Yet, there was no information about how this would be encoded.

Spec 2.9A errata corrected it by defining:

	- Bit 1 - Cache Error
	- Bit 2 - TLB Error
	- Bit 3 - Bus Error
	- Bit 4 - Micro-architectural Error
	All other values are reserved

That actually aligns with the values already defined on older
versions at N.2.4.1. Generic Processor Error Section.

Spec 2.10 also preserve the same encoding as 2.9A.

Adjust CPER and GHES handling code for both generic and ARM
processors to properly handle UEFI 2.9A and 2.10 encoding.

Link: https://uefi.org/specs/UEFI/2.10/Apx_N_Common_Platform_Error_Record.html#arm-processor-error-information
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-18 14:03:41 +01:00
..
apei-base.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
apei-internal.h ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities 2025-06-18 20:49:31 +02:00
bert.c ACPI: APEI: mark bert_disable as __initdata 2023-06-12 19:23:25 +02:00
einj-core.c ACPI: APEI: EINJ: Fix EINJV2 initialization and injection 2025-11-19 13:36:29 +01:00
einj-cxl.c ACPI: APEI: EINJ: Enable the discovery of EINJv2 capabilities 2025-06-18 20:49:31 +02:00
erst-dbg.c ACPI: APEI: Remove redundant assignments in erst_dbg_{ioctl|write}() 2025-09-15 21:21:57 +02:00
erst.c ACPI: APEI: Use ERST timeout for slow devices 2023-10-24 20:50:17 +02:00
ghes.c efi/cper: align ARM CPER type with UEFI 2.9A/2.10 specs 2025-12-18 14:03:41 +01:00
hest.c ACPI: APEI: Skip initialization of GHES_ASSIST structures for Machine Check Architecture 2024-02-29 18:34:40 +01:00
Kconfig firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES 2025-05-08 13:35:22 +01:00
Makefile EINJ: Add CXL error type support 2024-03-12 23:08:29 -07:00