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

Omkar Anand Kulkarni posted 5 patches 2 years, 8 months ago
Failed in applying to current master (apply log)
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/HestErrorSourceStandaloneMm.inf
create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.inf
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.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/HestErrorSourceStandaloneMm.c
create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.c
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md
[edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table
Posted by Omkar Anand Kulkarni 2 years, 8 months ago
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/HestErrorSourceStandaloneMm.inf
 create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.inf
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.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/HestErrorSourceStandaloneMm.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/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table
Posted by Sami Mujawar 2 years, 6 months ago
Hi Omkar,

The subject for this patch series should be fixed. These patches are not 
for edk2-platforms.

Regards,

Sami Mujawar


On 24/08/2021 06:33 AM, Omkar Anand Kulkarni wrote:
> 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/HestErrorSourceStandaloneMm.inf
>   create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.inf
>   create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.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/HestErrorSourceStandaloneMm.c
>   create mode 100644 MdeModulePkg/Universal/Apei/HestDxe/HestDxe.c
>   create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81453): https://edk2.groups.io/g/devel/message/81453
Mute This Topic: https://groups.io/mt/85104604/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-