forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linu…
…x/kernel/git/tip/tip Pull RAS updates from Ingo Molnar: "The main changes in this cycle are: - RAS tracing/events infrastructure, by Gong Chen. - Various generalizations of the APEI code to make it available to non-x86 architectures, by Tomasz Nowicki" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/ras: Fix build warnings in <linux/aer.h> acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context. acpi, apei, ghes: Make NMI error notification to be GHES architecture extension. apei, mce: Factor out APEI architecture specific MCE calls. RAS, extlog: Adjust init flow trace, eMCA: Add a knob to adjust where to save event log trace, RAS: Add eMCA trace event interface RAS, debugfs: Add debugfs interface for RAS subsystem CPER: Adjust code flow of some functions x86, MCE: Robustify mcheck_init_device trace, AER: Move trace into unified interface trace, RAS: Add basic RAS trace event x86, MCE: Kill CPU_POST_DEAD
- Loading branch information
Showing
28 changed files
with
653 additions
and
247 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* Arch-specific APEI-related functions. | ||
* | ||
* This program is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation; either version 2 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
*/ | ||
|
||
#include <acpi/apei.h> | ||
|
||
#include <asm/mce.h> | ||
#include <asm/tlbflush.h> | ||
|
||
int arch_apei_enable_cmcff(struct acpi_hest_header *hest_hdr, void *data) | ||
{ | ||
#ifdef CONFIG_X86_MCE | ||
int i; | ||
struct acpi_hest_ia_corrected *cmc; | ||
struct acpi_hest_ia_error_bank *mc_bank; | ||
|
||
if (hest_hdr->type != ACPI_HEST_TYPE_IA32_CORRECTED_CHECK) | ||
return 0; | ||
|
||
cmc = (struct acpi_hest_ia_corrected *)hest_hdr; | ||
if (!cmc->enabled) | ||
return 0; | ||
|
||
/* | ||
* We expect HEST to provide a list of MC banks that report errors | ||
* in firmware first mode. Otherwise, return non-zero value to | ||
* indicate that we are done parsing HEST. | ||
*/ | ||
if (!(cmc->flags & ACPI_HEST_FIRMWARE_FIRST) || | ||
!cmc->num_hardware_banks) | ||
return 1; | ||
|
||
pr_info("HEST: Enabling Firmware First mode for corrected errors.\n"); | ||
|
||
mc_bank = (struct acpi_hest_ia_error_bank *)(cmc + 1); | ||
for (i = 0; i < cmc->num_hardware_banks; i++, mc_bank++) | ||
mce_disable_bank(mc_bank->bank_number); | ||
#endif | ||
return 1; | ||
} | ||
|
||
void arch_apei_report_mem_error(int sev, struct cper_sec_mem_err *mem_err) | ||
{ | ||
#ifdef CONFIG_X86_MCE | ||
apei_mce_report_mem_error(sev, mem_err); | ||
#endif | ||
} | ||
|
||
void arch_apei_flush_tlb_one(unsigned long addr) | ||
{ | ||
__flush_tlb_one(addr); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -176,4 +176,6 @@ source "drivers/powercap/Kconfig" | |
|
||
source "drivers/mcb/Kconfig" | ||
|
||
source "drivers/ras/Kconfig" | ||
|
||
endmenu |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.