All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tyler Baicar <baicar@os.amperecomputing.com>
To: patches@amperecomputing.com, abdulhamid@os.amperecomputing.com,
	darren@os.amperecomputing.com, catalin.marinas@arm.com,
	will@kernel.org, maz@kernel.org, james.morse@arm.com,
	alexandru.elisei@arm.com, suzuki.poulose@arm.com,
	lorenzo.pieralisi@arm.com, guohanjun@huawei.com,
	sudeep.holla@arm.com, rafael@kernel.org, lenb@kernel.org,
	tony.luck@intel.com, bp@alien8.de, mark.rutland@arm.com,
	anshuman.khandual@arm.com, vincenzo.frascino@arm.com,
	tabba@google.com, marcan@marcan.st, keescook@chromium.org,
	jthierry@redhat.com, masahiroy@kernel.org,
	samitolvanen@google.com, john.garry@huawei.com,
	daniel.lezcano@linaro.org, gor@linux.ibm.com,
	zhangshaokun@hisilicon.com, tmricht@linux.ibm.com,
	dchinner@redhat.com, tglx@linutronix.de,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, linux-acpi@vger.kernel.org,
	linux-edac@vger.kernel.org, ishii.shuuichir@fujitsu.com,
	Vineeth.Pillai@microsoft.com
Cc: Tyler Baicar <baicar@os.amperecomputing.com>
Subject: [PATCH 0/2] ARM Error Source Table Support
Date: Wed, 24 Nov 2021 12:07:06 -0500	[thread overview]
Message-ID: <20211124170708.3874-1-baicar@os.amperecomputing.com> (raw)

This series adds support for the ARM Error Source Table (AEST) based on
the latest version of ACPI for the Armv8 RAS Extensions [0].

The AEST driver supports both memory mapped and system register interfaces.
This series assumes 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 it's system registers.

This is meant to be initial support for AEST to address the current gaps
with systems that support ARMv8 RAS extensions but don't have
firmware-first support. This series simply logs all the errors it finds
and triggers a kernel panic if there is an UE present.

I have tested this series on Ampere Altra using processor errors to
exercise PPI handling with system register interface and memory errors
to exercise SPI handling with MMIO interface. Both corrected and
uncorrected errors were tested to verify the non-fatal vs fatal
scenarios.

Future work:
- UER handling to avoid panic
- Looping through all external abort capable (ERR<n>FR.UE != 0) error
   nodes in SEA/SEI handling

Changes from RFC patch series [1]:
- Updated for latest AEST spec
- Utilize ACPICA header defines of AEST structures
- Added support for ARMv8.4 RAS extension
- Dropped the SEA/SEI dumping of SR RAS registers
- Removed unused defines
- Unified RAS extension register printing to a single function
- Updated trace event with additional fields
- Addressed other feedback from RFC series
- Added myself to ARM64 ACPI MAINTAINERS as a reviewer

[0] https://developer.arm.com/documentation/den0085/latest
[1] https://lkml.org/lkml/2019/7/2/781

Tyler Baicar (2):
  ACPI/AEST: Initial AEST driver
  trace, ras: add ARM RAS extension trace event

 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         | 129 +++++++++
 arch/arm64/kvm/sys_regs.c       |   2 +
 drivers/acpi/arm64/Kconfig      |   3 +
 drivers/acpi/arm64/Makefile     |   1 +
 drivers/acpi/arm64/aest.c       | 455 ++++++++++++++++++++++++++++++++
 include/linux/acpi_aest.h       |  50 ++++
 include/linux/cpuhotplug.h      |   1 +
 include/ras/ras_event.h         |  55 ++++
 12 files changed, 752 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

-- 
2.33.1


WARNING: multiple messages have this Message-ID (diff)
From: Tyler Baicar <baicar@os.amperecomputing.com>
To: patches@amperecomputing.com, abdulhamid@os.amperecomputing.com,
	darren@os.amperecomputing.com, catalin.marinas@arm.com,
	will@kernel.org, maz@kernel.org, james.morse@arm.com,
	alexandru.elisei@arm.com, suzuki.poulose@arm.com,
	lorenzo.pieralisi@arm.com, guohanjun@huawei.com,
	sudeep.holla@arm.com, rafael@kernel.org, lenb@kernel.org,
	tony.luck@intel.com, bp@alien8.de, mark.rutland@arm.com,
	anshuman.khandual@arm.com, vincenzo.frascino@arm.com,
	tabba@google.com, marcan@marcan.st, keescook@chromium.org,
	jthierry@redhat.com, masahiroy@kernel.org,
	samitolvanen@google.com, john.garry@huawei.com,
	daniel.lezcano@linaro.org, gor@linux.ibm.com,
	zhangshaokun@hisilicon.com, tmricht@linux.ibm.com,
	dchinner@redhat.com, tglx@linutronix.de,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, linux-acpi@vger.kernel.org,
	linux-edac@vger.kernel.org, ishii.shuuichir@fujitsu.com,
	Vineeth.Pillai@microsoft.com
Cc: Tyler Baicar <baicar@os.amperecomputing.com>
Subject: [PATCH 0/2] ARM Error Source Table Support
Date: Wed, 24 Nov 2021 12:07:06 -0500	[thread overview]
Message-ID: <20211124170708.3874-1-baicar@os.amperecomputing.com> (raw)

This series adds support for the ARM Error Source Table (AEST) based on
the latest version of ACPI for the Armv8 RAS Extensions [0].

The AEST driver supports both memory mapped and system register interfaces.
This series assumes 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 it's system registers.

This is meant to be initial support for AEST to address the current gaps
with systems that support ARMv8 RAS extensions but don't have
firmware-first support. This series simply logs all the errors it finds
and triggers a kernel panic if there is an UE present.

I have tested this series on Ampere Altra using processor errors to
exercise PPI handling with system register interface and memory errors
to exercise SPI handling with MMIO interface. Both corrected and
uncorrected errors were tested to verify the non-fatal vs fatal
scenarios.

Future work:
- UER handling to avoid panic
- Looping through all external abort capable (ERR<n>FR.UE != 0) error
   nodes in SEA/SEI handling

Changes from RFC patch series [1]:
- Updated for latest AEST spec
- Utilize ACPICA header defines of AEST structures
- Added support for ARMv8.4 RAS extension
- Dropped the SEA/SEI dumping of SR RAS registers
- Removed unused defines
- Unified RAS extension register printing to a single function
- Updated trace event with additional fields
- Addressed other feedback from RFC series
- Added myself to ARM64 ACPI MAINTAINERS as a reviewer

[0] https://developer.arm.com/documentation/den0085/latest
[1] https://lkml.org/lkml/2019/7/2/781

Tyler Baicar (2):
  ACPI/AEST: Initial AEST driver
  trace, ras: add ARM RAS extension trace event

 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         | 129 +++++++++
 arch/arm64/kvm/sys_regs.c       |   2 +
 drivers/acpi/arm64/Kconfig      |   3 +
 drivers/acpi/arm64/Makefile     |   1 +
 drivers/acpi/arm64/aest.c       | 455 ++++++++++++++++++++++++++++++++
 include/linux/acpi_aest.h       |  50 ++++
 include/linux/cpuhotplug.h      |   1 +
 include/ras/ras_event.h         |  55 ++++
 12 files changed, 752 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

-- 
2.33.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Tyler Baicar <baicar@os.amperecomputing.com>
To: patches@amperecomputing.com, abdulhamid@os.amperecomputing.com,
	darren@os.amperecomputing.com, catalin.marinas@arm.com,
	will@kernel.org, maz@kernel.org, james.morse@arm.com,
	alexandru.elisei@arm.com, suzuki.poulose@arm.com,
	lorenzo.pieralisi@arm.com, guohanjun@huawei.com,
	sudeep.holla@arm.com, rafael@kernel.org, lenb@kernel.org,
	tony.luck@intel.com, bp@alien8.de, mark.rutland@arm.com,
	anshuman.khandual@arm.com, vincenzo.frascino@arm.com,
	tabba@google.com, marcan@marcan.st, keescook@chromium.org,
	jthierry@redhat.com, masahiroy@kernel.org,
	samitolvanen@google.com, john.garry@huawei.com,
	daniel.lezcano@linaro.org, gor@linux.ibm.com,
	zhangshaokun@hisilicon.com, tmricht@linux.ibm.com,
	dchinner@redhat.com, tglx@linutronix.de,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, linux-acpi@vger.kernel.org,
	linux-edac@vger.kernel.org, ishii.shuuichir@fujitsu.com,
	Vineeth.Pillai@microsoft.com
Cc: Tyler Baicar <baicar@os.amperecomputing.com>
Subject: [PATCH 0/2] ARM Error Source Table Support
Date: Wed, 24 Nov 2021 12:07:06 -0500	[thread overview]
Message-ID: <20211124170708.3874-1-baicar@os.amperecomputing.com> (raw)

This series adds support for the ARM Error Source Table (AEST) based on
the latest version of ACPI for the Armv8 RAS Extensions [0].

The AEST driver supports both memory mapped and system register interfaces.
This series assumes 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 it's system registers.

This is meant to be initial support for AEST to address the current gaps
with systems that support ARMv8 RAS extensions but don't have
firmware-first support. This series simply logs all the errors it finds
and triggers a kernel panic if there is an UE present.

I have tested this series on Ampere Altra using processor errors to
exercise PPI handling with system register interface and memory errors
to exercise SPI handling with MMIO interface. Both corrected and
uncorrected errors were tested to verify the non-fatal vs fatal
scenarios.

Future work:
- UER handling to avoid panic
- Looping through all external abort capable (ERR<n>FR.UE != 0) error
   nodes in SEA/SEI handling

Changes from RFC patch series [1]:
- Updated for latest AEST spec
- Utilize ACPICA header defines of AEST structures
- Added support for ARMv8.4 RAS extension
- Dropped the SEA/SEI dumping of SR RAS registers
- Removed unused defines
- Unified RAS extension register printing to a single function
- Updated trace event with additional fields
- Addressed other feedback from RFC series
- Added myself to ARM64 ACPI MAINTAINERS as a reviewer

[0] https://developer.arm.com/documentation/den0085/latest
[1] https://lkml.org/lkml/2019/7/2/781

Tyler Baicar (2):
  ACPI/AEST: Initial AEST driver
  trace, ras: add ARM RAS extension trace event

 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         | 129 +++++++++
 arch/arm64/kvm/sys_regs.c       |   2 +
 drivers/acpi/arm64/Kconfig      |   3 +
 drivers/acpi/arm64/Makefile     |   1 +
 drivers/acpi/arm64/aest.c       | 455 ++++++++++++++++++++++++++++++++
 include/linux/acpi_aest.h       |  50 ++++
 include/linux/cpuhotplug.h      |   1 +
 include/ras/ras_event.h         |  55 ++++
 12 files changed, 752 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

-- 
2.33.1

_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

             reply	other threads:[~2021-11-24 17:07 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 17:07 Tyler Baicar [this message]
2021-11-24 17:07 ` [PATCH 0/2] ARM Error Source Table Support Tyler Baicar
2021-11-24 17:07 ` Tyler Baicar
2021-11-24 17:07 ` [PATCH 1/2] ACPI/AEST: Initial AEST driver Tyler Baicar
2021-11-24 17:07   ` Tyler Baicar
2021-11-24 17:07   ` Tyler Baicar
2021-11-24 18:09   ` Marc Zyngier
2021-11-24 18:09     ` Marc Zyngier
2021-11-24 18:09     ` Marc Zyngier
2021-11-29 20:39     ` Darren Hart
2021-11-29 20:39       ` Darren Hart
2021-11-29 20:39       ` Darren Hart
2021-11-30  9:45       ` Marc Zyngier
2021-11-30  9:45         ` Marc Zyngier
2021-11-30  9:45         ` Marc Zyngier
2021-11-30 16:41         ` Darren Hart
2021-11-30 16:41           ` Darren Hart
2021-11-30 16:41           ` Darren Hart
2021-12-16 22:05           ` Tyler Baicar
2021-12-16 22:05             ` Tyler Baicar
2021-12-16 22:05             ` Tyler Baicar
2021-12-16 23:42             ` Sudeep Holla
2021-12-16 23:42               ` Sudeep Holla
2021-12-16 23:42               ` Sudeep Holla
2021-11-24 18:51   ` Mark Rutland
2021-11-24 18:51     ` Mark Rutland
2021-11-24 18:51     ` Mark Rutland
2021-12-16 23:22     ` Tyler Baicar
2021-12-16 23:22       ` Tyler Baicar
2021-12-16 23:22       ` Tyler Baicar
2021-12-09  8:10   ` ishii.shuuichir
2021-12-09  8:10     ` ishii.shuuichir
2021-12-09  8:10     ` ishii.shuuichir
2021-12-16 23:33     ` Tyler Baicar
2021-12-16 23:33       ` Tyler Baicar
2021-12-16 23:33       ` Tyler Baicar
2022-04-20  7:54       ` ishii.shuuichir
2022-04-20  7:54         ` ishii.shuuichir
2022-04-20  7:54         ` ishii.shuuichir
2022-05-09 13:37         ` Tyler Baicar
2022-05-09 13:37           ` Tyler Baicar
2022-05-09 13:37           ` Tyler Baicar
2022-05-09 23:23           ` ishii.shuuichir
2022-05-09 23:23             ` ishii.shuuichir
2022-05-09 23:23             ` ishii.shuuichir
2022-12-07  5:44           ` Ruidong Tian
2022-12-07  5:44             ` Ruidong Tian
2022-12-07  5:44             ` Ruidong Tian
2021-11-24 17:07 ` [PATCH 2/2] trace, ras: add ARM RAS extension trace event Tyler Baicar
2021-11-24 17:07   ` Tyler Baicar
2021-11-24 17:07   ` Tyler Baicar
2021-11-28 11:27   ` kernel test robot
2021-11-28 11:27     ` kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211124170708.3874-1-baicar@os.amperecomputing.com \
    --to=baicar@os.amperecomputing.com \
    --cc=Vineeth.Pillai@microsoft.com \
    --cc=abdulhamid@os.amperecomputing.com \
    --cc=alexandru.elisei@arm.com \
    --cc=anshuman.khandual@arm.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=darren@os.amperecomputing.com \
    --cc=dchinner@redhat.com \
    --cc=gor@linux.ibm.com \
    --cc=guohanjun@huawei.com \
    --cc=ishii.shuuichir@fujitsu.com \
    --cc=james.morse@arm.com \
    --cc=john.garry@huawei.com \
    --cc=jthierry@redhat.com \
    --cc=keescook@chromium.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=marcan@marcan.st \
    --cc=mark.rutland@arm.com \
    --cc=masahiroy@kernel.org \
    --cc=maz@kernel.org \
    --cc=patches@amperecomputing.com \
    --cc=rafael@kernel.org \
    --cc=samitolvanen@google.com \
    --cc=sudeep.holla@arm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tabba@google.com \
    --cc=tglx@linutronix.de \
    --cc=tmricht@linux.ibm.com \
    --cc=tony.luck@intel.com \
    --cc=vincenzo.frascino@arm.com \
    --cc=will@kernel.org \
    --cc=zhangshaokun@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.