diff options
author | Huang Ying <ying.huang@intel.com> | 2011-07-13 13:14:25 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-08-03 11:15:57 -0400 |
commit | 67eb2e99076708cc790019a6a08ca3e0ae130a3a (patch) | |
tree | dc3863496a4b6c4e30450f1b94d3e1c87b858e7a /drivers/acpi/apei/Kconfig | |
parent | 7f184275aa306046fe7edcbef3229754f0d97402 (diff) | |
download | talos-obmc-linux-67eb2e99076708cc790019a6a08ca3e0ae130a3a.tar.gz talos-obmc-linux-67eb2e99076708cc790019a6a08ca3e0ae130a3a.zip |
ACPI, APEI, GHES, printk support for recoverable error via NMI
Some APEI GHES recoverable errors are reported via NMI, but printk is
not safe in NMI context.
To solve the issue, a lock-less memory allocator is used to allocate
memory in NMI handler, save the error record into the allocated
memory, put the error record into a lock-less list. On the other
hand, an irq_work is used to delay the operation from NMI context to
IRQ context. The irq_work IRQ handler will remove nodes from
lock-less list, printk the error record and do some further processing
include recovery operation, then free the memory.
Signed-off-by: Huang Ying <ying.huang@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/apei/Kconfig')
-rw-r--r-- | drivers/acpi/apei/Kconfig | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/acpi/apei/Kconfig b/drivers/acpi/apei/Kconfig index 3f45dde17aec..35596eaaca17 100644 --- a/drivers/acpi/apei/Kconfig +++ b/drivers/acpi/apei/Kconfig @@ -13,6 +13,8 @@ config ACPI_APEI_GHES bool "APEI Generic Hardware Error Source" depends on ACPI_APEI && X86 select ACPI_HED + select LLIST + select GENERIC_ALLOCATOR help Generic Hardware Error Source provides a way to report platform hardware errors (such as that from chipset). It |