mce: acpi/apei: Honour Firmware First for MCA banks listed in APEI HEST CMC
authorNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Mon, 1 Jul 2013 15:38:47 +0000 (21:08 +0530)
committerTony Luck <tony.luck@intel.com>
Mon, 8 Jul 2013 18:53:01 +0000 (11:53 -0700)
commitc3d1fb567a634dcdff4c6f6095b2053260988336
treebe2b0f39a3b489c4aa4b39d6c527be0c63146b92
parent8bb495e3f02401ee6f76d1b1d77f3ac9f079e376
mce: acpi/apei: Honour Firmware First for MCA banks listed in APEI HEST CMC

The Corrected Machine Check structure (CMC) in HEST has a flag which can be
set by the firmware to indicate to the OS that it prefers to process the
corrected error events first. In this scenario, the OS is expected to not
monitor for corrected errors (through CMCI/polling). Instead, the firmware
notifies the OS on corrected error events through GHES.

Linux already has support for GHES. This patch adds support for parsing CMC
structure and to disable CMCI/polling if the firmware first flag is set.

Further, the list of machine check bank structures at the end of CMC is used
to determine which MCA banks function in FF mode, so that we continue to
monitor error events on the other banks.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/x86/include/asm/mce.h
arch/x86/kernel/cpu/mcheck/mce-internal.h
arch/x86/kernel/cpu/mcheck/mce.c
arch/x86/kernel/cpu/mcheck/mce_intel.c
drivers/acpi/apei/hest.c