On Wed, 24 Nov 2021 17:07:07 +0000, Tyler Baicar <baicar@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Add support for parsing the ARM Error Source Table and basic handling of > errors reported through both memory mapped and system register interfaces. > > Assume system register interfaces are only registered with private > peripheral interrupts (PPIs); otherwise there is no guarantee the > core handling the error is the core which took the error and has the > syndrome info in its system registers. > > Add logging for all detected errors and trigger a kernel panic if there is > any uncorrected error present. > > Signed-off-by: Tyler Baicar <baicar@xxxxxxxxxxxxxxxxxxxxxx> > --- > MAINTAINERS | 1 + > arch/arm64/include/asm/ras.h | 52 ++++ > arch/arm64/include/asm/sysreg.h | 2 + > arch/arm64/kernel/Makefile | 1 + > arch/arm64/kernel/ras.c | 125 +++++++++ > arch/arm64/kvm/sys_regs.c | 2 + > drivers/acpi/arm64/Kconfig | 3 + > drivers/acpi/arm64/Makefile | 1 + > drivers/acpi/arm64/aest.c | 450 ++++++++++++++++++++++++++++++++ > include/linux/acpi_aest.h | 50 ++++ > include/linux/cpuhotplug.h | 1 + > 11 files changed, 688 insertions(+) > create mode 100644 arch/arm64/include/asm/ras.h > create mode 100644 arch/arm64/kernel/ras.c > create mode 100644 drivers/acpi/arm64/aest.c > create mode 100644 include/linux/acpi_aest.h > > diff --git a/MAINTAINERS b/MAINTAINERS > index 5250298d2817..aa0483726606 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -382,6 +382,7 @@ ACPI FOR ARM64 (ACPI/arm64) > M: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> > M: Hanjun Guo <guohanjun@xxxxxxxxxx> > M: Sudeep Holla <sudeep.holla@xxxxxxx> > +R: Tyler Baicar <baicar@xxxxxxxxxxxxxxxxxxxxxx> > L: linux-acpi@xxxxxxxxxxxxxxx > L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx (moderated for non-subscribers) > S: Maintained Isn't this a bit premature? This isn't even mentioned in the commit message, only in passing in the cover letter. > diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h > index 16b3f1a1d468..6bbed061d835 100644 > --- a/arch/arm64/include/asm/sysreg.h > +++ b/arch/arm64/include/asm/sysreg.h > @@ -230,6 +230,8 @@ > #define SYS_ERXADDR_EL1 sys_reg(3, 0, 5, 4, 3) > #define SYS_ERXMISC0_EL1 sys_reg(3, 0, 5, 5, 0) > #define SYS_ERXMISC1_EL1 sys_reg(3, 0, 5, 5, 1) > +#define SYS_ERXMISC2_EL1 sys_reg(3, 0, 5, 5, 2) > +#define SYS_ERXMISC3_EL1 sys_reg(3, 0, 5, 5, 3) > #define SYS_TFSR_EL1 sys_reg(3, 0, 5, 6, 0) > #define SYS_TFSRE0_EL1 sys_reg(3, 0, 5, 6, 1) > > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c > index e3ec1a44f94d..dc15e9896db4 100644 > --- a/arch/arm64/kvm/sys_regs.c > +++ b/arch/arm64/kvm/sys_regs.c > @@ -1573,6 +1573,8 @@ static const struct sys_reg_desc sys_reg_descs[] = { > { SYS_DESC(SYS_ERXADDR_EL1), trap_raz_wi }, > { SYS_DESC(SYS_ERXMISC0_EL1), trap_raz_wi }, > { SYS_DESC(SYS_ERXMISC1_EL1), trap_raz_wi }, > + { SYS_DESC(SYS_ERXMISC2_EL1), trap_raz_wi }, > + { SYS_DESC(SYS_ERXMISC3_EL1), trap_raz_wi }, > This looks like a fix that would deserve its own patch. Thanks, M. -- Without deviation from the norm, progress is not possible.