On Thu, Jul 11, 2024 at 08:28:55AM +0200, Mauro Carvalho Chehab wrote: > 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@xxxxxxxxxx> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > drivers/acpi/apei/ghes.c | 15 ++++++---- > drivers/firmware/efi/cper-arm.c | 50 ++++++++++++++++----------------- > include/linux/cper.h | 10 +++---- > 3 files changed, 38 insertions(+), 37 deletions(-) How was this thing ever tested?!?! Geez. drivers/acpi/apei/ghes.c: In function ‘ghes_handle_arm_hw_error’: drivers/acpi/apei/ghes.c:565:34: error: implicit declaration of function ‘FIELD_GET’ [-Werror=implicit-function-declaration] 565 | FIELD_GET(CPER_ARM_ERR_TYPE_MASK, err_info->type), | ^~~~~~~~~ cc1: some warnings being treated as errors make[5]: *** [scripts/Makefile.build:244: drivers/acpi/apei/ghes.o] Error 1 make[4]: *** [scripts/Makefile.build:485: drivers/acpi/apei] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/Makefile.build:485: drivers/acpi] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:485: drivers] Error 2 make[1]: *** [/mnt/kernel/kernel/2nd/linux/Makefile:1925: .] Error 2 make: *** [Makefile:224: __sub-make] Error 2 -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette