Skip to content

Commit 9f721ed

Browse files
qzhuo2ranjan-dutta
authored andcommitted
EDAC/ieh: Add I/O device EDAC driver for Intel CPUs with IEH
Integrated Error Handlers (IEHs) are PCIe devices which aggregate and report error events of different severities (correctable, non-fatal uncorrectable, and fatal uncorrectable) from various I/O devices, e.g., PCIe devices, legacy PCI devices. Each error severity is notified by one of {SMI, NMI, MCE} which is configured by BIOS/platform firmware. The first IEH-supported platform is Intel Tiger Lake-U CPU. The driver reads/prints the error severity and error source (bus/device/function) logged in the IEH(s) and restarts the system on fatal I/O device error. Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
1 parent 1afcf24 commit 9f721ed

File tree

3 files changed

+795
-0
lines changed

3 files changed

+795
-0
lines changed

drivers/edac/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,16 @@ config EDAC_IGEN6
281281
This In-Band ECC is first used on the Elkhart Lake SoC but
282282
may appear on others in the future.
283283

284+
config EDAC_IEH
285+
tristate "Intel Integrated Error Handler"
286+
depends on PCI && X86_64
287+
help
288+
Support for error detection and correction on the Intel
289+
CPU using I/O IEH (Integrated Error Handler). IEHs are PCIe
290+
devices which aggregate and report error events of different
291+
severities from various I/O devices, e.g., PCIe devices and
292+
legacy PCI devices.
293+
284294
config EDAC_MPC85XX
285295
bool "Freescale MPC83xx / MPC85xx"
286296
depends on FSL_SOC && EDAC=y

drivers/edac/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ obj-$(CONFIG_EDAC_I7CORE) += i7core_edac.o
3333
obj-$(CONFIG_EDAC_SBRIDGE) += sb_edac.o
3434
obj-$(CONFIG_EDAC_PND2) += pnd2_edac.o
3535
obj-$(CONFIG_EDAC_IGEN6) += igen6_edac.o
36+
obj-$(CONFIG_EDAC_IEH) += ieh_edac.o
3637
obj-$(CONFIG_EDAC_E7XXX) += e7xxx_edac.o
3738
obj-$(CONFIG_EDAC_E752X) += e752x_edac.o
3839
obj-$(CONFIG_EDAC_I82443BXGX) += i82443bxgx_edac.o

0 commit comments

Comments
 (0)