Re: [PATCH] acpi, apei: Add Boot Error Record Table (BERT) support

From: Rafael J. Wysocki
Date: Wed Jun 29 2016 - 17:16:53 EST


On Wed, Jun 29, 2016 at 10:04 PM, Luck, Tony <tony.luck@xxxxxxxxx> wrote:
> From: Huang Ying <ying.huang@xxxxxxxxx>
>
> ACPI/APEI is designed to verifiy/report H/W errors, like Corrected
> Error(CE) and Uncorrected Error(UC). It contains four tables: HEST,
> ERST, EINJ and BERT. The first three tables have been merged for
> a long time, but because of lacking BIOS support for BERT, the
> support for BERT is pending until now. Recently on ARM 64 platform
> it is has been supported. So here we come.
>
> Under normal circumstances, when a hardware error occurs, kernel will
> be notified via NMI, MCE or some other method, then kernel will
> process the error condition, report it, and recover it if possible.
> But sometime, the situation is so bad, so that firmware may choose to
> reset directly without notifying Linux kernel.
>
> Linux kernel can use the Boot Error Record Table (BERT) to get the
> un-notified hardware errors that occurred in a previous boot. In this
> patch, the error information is reported via printk.
>
> For more information about BERT, please refer to ACPI Specification
> version 6.0, section 18.3.1:
> http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf
>
> The following log is a BERT record after system reboot because of hitting
> a fatal memory error:
> BERT: Error records from previous boot:
> [Hardware Error]: It has been corrected by h/w and requires no further action
> [Hardware Error]: event severity: corrected
> [Hardware Error]: Error 0, type: recoverable
> [Hardware Error]: section_type: memory error
> [Hardware Error]: error_status: 0x0000000000000400
> [Hardware Error]: physical_address: 0xffffffffffffffff
> [Hardware Error]: card: 1 module: 2 bank: 3 row: 1 column: 2 bit_position: 5
> [Hardware Error]: error_type: 2, single-bit ECC
>
> [Tomasz Nowicki: Clear error status at the end of error handling]
> [Tony: Applied some cleanups suggested by Fu Wei]
> [Fu Wei: delete EXPORT_SYMBOL_GPL(bert_disable), improve the code]
>
> Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx>
> Signed-off-by: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
> Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx>
> Tested-by: Jonathan (Zhixiong) Zhang <zjzhang@xxxxxxxxxxxxxx>
> Signed-off-by: Fu Wei <fu.wei@xxxxxxxxxx>
> Tested-by: Tyler Baicar <tbaicar@xxxxxxxxxxxxxx>
> Reviewed-by: Borislav Petkov <bp@xxxxxxx>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---
>
> This seems to be the patch that is doomed to be forgotten. The
> original by Huang Ying was written so long ago that I don't want
> to search that deep into the archives in case I disturb a balrog.
> Fu Wei posted it back in January this year and got the Tested-by
> and Reviewed-by sign-offs:
>
> https://lkml.kernel.org/r/1453196042-12273-1-git-send-email-fu.wei@xxxxxxxxxx
>
> but then it looks like it was forgotten again :-(

Do you want me to take it?

Thanks,
Rafael