public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms][PATCH v2 0/5] Platform/Sgi: Add platform support for firmware first error handling
@ 2021-07-10 16:24 Omkar Anand Kulkarni
  2021-07-10 16:24 ` [edk2-platforms][PATCH v2 1/5] Platform/ARM: Add DMC-620 ECC error handling driver Omkar Anand Kulkarni
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Omkar Anand Kulkarni @ 2021-07-10 16:24 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Sami Mujawar

Changes since v1:
- Added Platform Error Handler DXE driver.
- Move the ACPI header values to common DSC include file.
- Rebased to the latest upstream code.

This patch series introduces platform support for RAS using Firmware First
error handling. Firmware first error handling on ARM Neoverse reference design
platforms is achieved using HEST[1] and SDEI[2] ACPI tables.

For doing so the Platform Error handler DXE driver is introduced. This driver
is integral part of the firmware first error handling framework in EDK2. SDEI
being the notification mechanism used to communicate the platform errors to
OSPM, it builds and installs the SDEI ACPI table. Also installs the HEST table
which is already created as part of firmware first framework in EDK2.

This series does provide a reference implementation to leverage the firmware
first framework by implementing a platform MM driver for Dynamic Memory
Controller DMC[3] that has RAS feature enabled. This driver mainly handles
following:
- Implements the Hest Error Source Descriptor protocol introduced as part of
  firmware first framework in EDK2. Publishes the 1-bit ECC DRAM error sources
  as GHESv2[4] type error source descriptors.
- For any 1-bit CE that occurs on DRAM it reads DMC error record registers and
  populates a error status block (CPER)[5] of Memory Type error[6].

References:
[1] : ACPI 6.3, Table 18-382, Hardware Error Source Table
[2] : SDEI Platform Design Document, revision b, 10 Appendix C, ACPI table
      definitions for SDEI
[3] : DMC620 Dynamic Memory Controller, revision r1p0
[4] : ACPI Reference Specification 6.3, Table 18-393 GHESv2 Structure
[5] : UEFI Reference Specification 2.8, Appendix N - Common Platform Error
      Record
[6] : UEFI Reference Specification 2.8, Section N.2.5 Memory Error Section

This patch series is dependent on the edk2 patch series
https://edk2.groups.io/g/devel/message/77667

Link to github branch with the patches in this series -
https://github.com/omkkul01/edk2-platforms/tree/ras_firware_first_edk2-platforms

Omkar Anand Kulkarni (5):
  Platform/ARM: Add DMC-620 ECC error handling driver
  Platform/Sgi: dmc-620 firmware-first error handling
  Platform/Sgi: define memory region for GHES error status block
  Platform/Sgi: Define values for ACPI table header
  Platform/Sgi: Add platform error handling driver

 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.dec    |  30 ++
 Platform/ARM/SgiPkg/SgiPlatform.dec           |   1 +
 Platform/ARM/SgiPkg/SgiPlatform.dsc.inc       |  38 ++
 Platform/ARM/SgiPkg/SgiPlatformMm.dsc.inc     |  30 ++
 Platform/ARM/SgiPkg/PlatformStandaloneMm.fdf  |   6 +
 Platform/ARM/SgiPkg/SgiPlatform.fdf           |  13 +
 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.inf    |  60 +++
 .../PlatformErrorHandlerDxe.inf               |  51 +++
 .../Library/PlatformLib/PlatformLib.inf       |   6 +
 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.h      | 175 +++++++++
 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.c      | 360 ++++++++++++++++++
 .../Dmc620Mm/Dmc620MmErrorSourceInfo.c        | 198 ++++++++++
 .../PlatformErrorHandlerDxe.c                 | 171 +++++++++
 .../Library/PlatformLib/PlatformLibMem.c      |  13 +-
 14 files changed, 1150 insertions(+), 2 deletions(-)
 create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.dec
 create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.inf
 create mode 100644 Platform/ARM/SgiPkg/Drivers/PlatformErrorHandlerDxe/PlatformErrorHandlerDxe.inf
 create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.h
 create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.c
 create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620MmErrorSourceInfo.c
 create mode 100644 Platform/ARM/SgiPkg/Drivers/PlatformErrorHandlerDxe/PlatformErrorHandlerDxe.c

-- 
2.17.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-07-10 16:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-10 16:24 [edk2-platforms][PATCH v2 0/5] Platform/Sgi: Add platform support for firmware first error handling Omkar Anand Kulkarni
2021-07-10 16:24 ` [edk2-platforms][PATCH v2 1/5] Platform/ARM: Add DMC-620 ECC error handling driver Omkar Anand Kulkarni
2021-07-10 16:24 ` [edk2-platforms][PATCH v2 2/5] Platform/Sgi: dmc-620 firmware-first error handling Omkar Anand Kulkarni
2021-07-10 16:24 ` [edk2-platforms][PATCH v2 3/5] Platform/Sgi: define memory region for GHES error status block Omkar Anand Kulkarni
2021-07-10 16:24 ` [edk2-platforms][PATCH v2 4/5] Platform/Sgi: Define values for ACPI table header Omkar Anand Kulkarni
2021-07-10 16:24 ` [edk2-platforms][PATCH v2 5/5] Platform/Sgi: Add platform error handling driver Omkar Anand Kulkarni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox