aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/apei/ghes.c
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2011-07-13 01:14:21 -0400
committerLen Brown <len.brown@intel.com>2011-07-13 23:38:49 -0400
commit9fb0bfe1408d5506b7b83d13d1eed573fd71d67d (patch)
tree51700355f453ab47de4bd799a4468c030db6e088 /drivers/acpi/apei/ghes.c
parenteccddd32ced0df8f9130024157bf8d37df860d76 (diff)
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.c10
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)
681 if (rc) 681 if (rc)
682 goto err_ioremap_exit; 682 goto err_ioremap_exit;
683 683
684 rc = apei_osc_setup();
685 if (rc == 0 && osc_sb_apei_support_acked)
686 pr_info(GHES_PFX "APEI firmware first mode is enabled by APEI bit and WHEA _OSC.\n");
687 else if (rc == 0 && !osc_sb_apei_support_acked)
688 pr_info(GHES_PFX "APEI firmware first mode is enabled by WHEA _OSC.\n");
689 else if (rc && osc_sb_apei_support_acked)
690 pr_info(GHES_PFX "APEI firmware first mode is enabled by APEI bit.\n");
691 else
692 pr_info(GHES_PFX "Failed to enable APEI firmware first mode.\n");
693
684 return 0; 694 return 0;
685err_ioremap_exit: 695err_ioremap_exit:
686 ghes_ioremap_exit(); 696 ghes_ioremap_exit();