diff options
author | Huang Ying <ying.huang@intel.com> | 2011-07-13 13:14:21 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-07-13 23:38:49 -0400 |
commit | 9fb0bfe1408d5506b7b83d13d1eed573fd71d67d (patch) | |
tree | 51700355f453ab47de4bd799a4468c030db6e088 /drivers/acpi/apei/ghes.c | |
parent | eccddd32ced0df8f9130024157bf8d37df860d76 (diff) | |
download | lwn-9fb0bfe1408d5506b7b83d13d1eed573fd71d67d.tar.gz lwn-9fb0bfe1408d5506b7b83d13d1eed573fd71d67d.zip |
ACPI, APEI, Add WHEA _OSC support
APEI firmware first mode must be turned on explicitly on some
machines, otherwise there may be no GHES hardware error record for
hardware error notification. APEI bit in generic _OSC call can be
used to do that, but on some machine, a special WHEA _OSC call must be
used. This patch adds the support to that WHEA _OSC call.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/apei/ghes.c')
-rw-r--r-- | drivers/acpi/apei/ghes.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index b142b94bf8b2..b1390a61cde1 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -681,6 +681,16 @@ static int __init ghes_init(void) if (rc) goto err_ioremap_exit; + rc = apei_osc_setup(); + if (rc == 0 && osc_sb_apei_support_acked) + pr_info(GHES_PFX "APEI firmware first mode is enabled by APEI bit and WHEA _OSC.\n"); + else if (rc == 0 && !osc_sb_apei_support_acked) + pr_info(GHES_PFX "APEI firmware first mode is enabled by WHEA _OSC.\n"); + else if (rc && osc_sb_apei_support_acked) + pr_info(GHES_PFX "APEI firmware first mode is enabled by APEI bit.\n"); + else + pr_info(GHES_PFX "Failed to enable APEI firmware first mode.\n"); + return 0; err_ioremap_exit: ghes_ioremap_exit(); |