[edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table

Omkar Anand Kulkarni omkar.kulkarni at arm.com
Tue Aug 24 05:51:26 UTC 2021


Hi All,

Sorry for the [edk2-platforms] prefix attached to the subject line. This is edk2 patch series. Will fix the prefix in next version.

- Omkar.

> Changes since v2:
> - Addressed the comments given by Sami.
> - Added Readme file with all cover letter information.
> - Rebased to the latest upstream code.
>
> Hardware Error Source Table (HEST)[1] and Software Delegated Exception
> Interface (SDEI)[2] ACPI tables are used to acomplish firmware first error
> handling.This patch series introduces a framework to build and install the
> HEST ACPI table dynamically.
>
> The following figure illustrates the possible usage of the dyanamic generation
> of HEST ACPI table.
>
>                                     NS | S
> +--------------------------------------+--------------------------------------+
> |                                      |                                      |
> |+-------------------------------------+---------------------+
> |+-------------------------------------+---------------------+ |
> ||               +---------------------+--------------------+|                |
> ||               |                     |                    ||                |
> || +-----------+ |+------------------+ | +-----------------+|| +-------------+|
> || |HestTable  | ||  HestErrorSource | | | HestErrorSource ||| | DMC-620
> ||
> || |  DXE      | ||        DXE       | | |  StandaloneMM   ||| |Standalone MM||
> || +-----------+ |+------------------+ | +-----------------+|| +-------------+|
> ||               |GHESv2               |                    ||                |
> ||               +---------------------+--------------------+|                |
> ||          +--------------------+     |                     |                |
> ||          |PlatformErrorHandler|     |                     |                |
> ||          |        DXE         |     |                     |                |
> ||          +--------------------+     |                     |                |
> ||FF FWK                               |                     |                |
> |+-------------------------------------+---------------------+
> |+-------------------------------------+---------------------+ |
> |                                      |                                      |
> +--------------------------------------+--------------------------------------+
>                                        |
>                    Figure: Firmware First Error Handling approach.
>
> All the hardware error sources are added to HEST table as GHESv2[3] error
> source descriptors. The framework comprises of following DXE and MM
> drivers:
>
> - HestTableDxe:
>   Builds HEST table header and allows appending error source descriptors to
> the
>   HEST table. Also provides protocol interface to install the built HEST table.
>
> - HestErrorSourceDxe & HestErrorSourceStandaloneMM:
>   These two drivers together retrieve all possible error source descriptors of
>   type GHESv2 from the MM drivers implementing HEST Error Source
> Descriptor
>   protocol. Once all the descriptors are collected HestErrorSourceDxe
> appends
>   it to HEST table using HestTableDxe driver.
>
> Link to github branch with the patches in this series -
> https://github.com/omkkul01/edk2/tree/ras_firware_first_edk2-
> platforms_v3
>
> Omkar Anand Kulkarni (5):
>   MdeModulePkg: Allow dynamic generation of HEST ACPI table
>   ArmPlatformPkg: add definition for
> MM_HEST_ERROR_SOURCE_DESC_PROTOCOL
>   ArmPlatformPkg: retreive error source descriptors from MM
>   EmbeddedPkg: Add helpers for HEST table generation
>   ArmPlatformPkg: Add Readme file
>
>  ArmPlatformPkg/ArmPlatformPkg.dec             |  10 +
>  MdeModulePkg/MdeModulePkg.dec                 |   3 +
>  .../HestMmErrorSources/HestErrorSourceDxe.inf |  45 +++
>  .../HestErrorSourceStandaloneMm.inf           |  51 +++
>  .../Universal/Apei/HestDxe/HestDxe.inf        |  49 +++
>  .../HestMmErrorSourceCommon.h                 |  37 ++
>  .../Include/Protocol/HestErrorSourceInfo.h    |  64 ++++
>  EmbeddedPkg/Include/Library/AcpiLib.h         |  20 ++
>  MdeModulePkg/Include/Protocol/HestTable.h     |  71 ++++
>  MdePkg/Include/Protocol/MmCommunication.h     |   2 +
>  .../HestMmErrorSources/HestErrorSourceDxe.c   | 309 +++++++++++++++++
>  .../HestErrorSourceStandaloneMm.c             | 312 +++++++++++++++++
>  MdeModulePkg/Universal/Apei/HestDxe/HestDxe.c | 318
> ++++++++++++++++++
>  .../Drivers/HestMmErrorSources/Readme.md      |  66 ++++
>  14 files changed, 1357 insertions(+)
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandalone
> Mm.inf
>  create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.inf
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommo
> n.h
>  create mode 100644
> ArmPlatformPkg/Include/Protocol/HestErrorSourceInfo.h
>  create mode 100644 MdeModulePkg/Include/Protocol/HestTable.h
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.c
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandalone
> Mm.c
>  create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.c
>  create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md
>
> --
> 2.17.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#79741): https://edk2.groups.io/g/devel/message/79741
> Mute This Topic: https://groups.io/mt/85104604/4857533
> Group Owner: devel+owner at edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [omkar.kulkarni at arm.com]
> -=-=-=-=-=-=
>

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79747): https://edk2.groups.io/g/devel/message/79747
Mute This Topic: https://groups.io/mt/85104604/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list