aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHuang Ying <ying.huang@intel.com>2011-12-07 22:25:49 -0500
committerLen Brown <len.brown@intel.com>2012-01-17 03:54:44 -0500
commitb54ac6d2a25084667da781c7ca2cebef52a2bcdd (patch)
treeb4dbaa790dcecff6b5b0772846d43b360f6389d7 /arch
parentb4e008dc53a31cb4bf6a12d9dbaf1d5c6070a838 (diff)
ACPI, Record ACPI NVS regions
Some firmware will access memory in ACPI NVS region via APEI. That is, instructions in APEI ERST/EINJ table will read/write ACPI NVS region. The original resource conflict checking in APEI code will check memory/ioport accessed by APEI via general resource management mechanism. But ACPI NVS region is marked as busy already, so that the false resource conflict will prevent APEI ERST/EINJ to work. To fix this, this patch record ACPI NVS regions, so that we can avoid request resources for memory region inside it. Signed-off-by: Huang Ying <ying.huang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/e820.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index 303a0e48f076..51c3b186e5b9 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -714,7 +714,7 @@ void __init e820_mark_nosave_regions(unsigned long limit_pfn)
714} 714}
715#endif 715#endif
716 716
717#ifdef CONFIG_HIBERNATION 717#ifdef CONFIG_ACPI
718/** 718/**
719 * Mark ACPI NVS memory region, so that we can save/restore it during 719 * Mark ACPI NVS memory region, so that we can save/restore it during
720 * hibernation and the subsequent resume. 720 * hibernation and the subsequent resume.
@@ -727,7 +727,7 @@ static int __init e820_mark_nvs_memory(void)
727 struct e820entry *ei = &e820.map[i]; 727 struct e820entry *ei = &e820.map[i];
728 728
729 if (ei->type == E820_NVS) 729 if (ei->type == E820_NVS)
730 suspend_nvs_register(ei->addr, ei->size); 730 acpi_nvs_register(ei->addr, ei->size);
731 } 731 }
732 732
733 return 0; 733 return 0;