[PATCH 1/2] ACPI/AEST: Initial AEST driver
Marc Zyngier
maz at kernel.org
Wed Nov 24 10:09:14 PST 2021
On Wed, 24 Nov 2021 17:07:07 +0000,
Tyler Baicar <baicar at os.amperecomputing.com> 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 at os.amperecomputing.com>
> ---
> 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 at arm.com>
> M: Hanjun Guo <guohanjun at huawei.com>
> M: Sudeep Holla <sudeep.holla at arm.com>
> +R: Tyler Baicar <baicar at os.amperecomputing.com>
> L: linux-acpi at vger.kernel.org
> L: linux-arm-kernel at lists.infradead.org (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.
More information about the linux-arm-kernel
mailing list