[edk2-devel] [PATCH 0/3] ArmPlatformPkg: Introduce dynamic generation of HEST table

Omkar Anand Kulkarni posted 3 patches 3 years, 6 months ago
Failed in applying to current master (apply log)
ArmPlatformPkg/ArmPlatformPkg.dec             |  12 +
.../Drivers/Apei/HestDxe/HestDxe.inf          |  45 +++
.../HestMmErrorSources/HestErrorSourceDxe.inf |  41 +++
.../HestErrorSourceStandaloneMm.inf           |  51 +++
.../HestMmErrorSourceCommon.h                 |  33 ++
.../Include/Protocol/HestErrorSourceInfo.h    |  64 ++++
ArmPlatformPkg/Include/Protocol/HestTable.h   |  66 ++++
ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 320 ++++++++++++++++++
.../HestMmErrorSources/HestErrorSourceDxe.c   | 257 ++++++++++++++
.../HestErrorSourceStandaloneMm.c             | 282 +++++++++++++++
10 files changed, 1171 insertions(+)
create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.inf
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.h
create mode 100644 ArmPlatformPkg/Include/Protocol/HestErrorSourceInfo.h
create mode 100644 ArmPlatformPkg/Include/Protocol/HestTable.h
create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.c
create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.c
[edk2-devel] [PATCH 0/3] ArmPlatformPkg: Introduce dynamic generation of HEST table
Posted by Omkar Anand Kulkarni 3 years, 6 months ago
This patch series adds support for dynamic creation of the HEST ACPI
table with the error source descritors reterived from various other
error handling drivers, including those implemented in StandaloneMM.

The first patch adds a HEST table generation driver and introduces HEST
table protocol. The driver enables dynamic creation of HEST ACPI table.
The driver implements HEST table protocol serives to append error source
descriptors to the table and install the fully populated HEST table.
This enables other drivers to append and publish error source descriptor
information to HEST table. The append protocol service when called for
the first time creates HEST table and populates it with HEST header
information. So on subsequent calls made to append service only error
source descriptor information be appended at the end of HEST table.
After all the hardware error source descriptors are added to the HEST
table, install protocol service is used to publish the HEST table to
OSPM.

The second patch introduces a protocol definition to Get HEST error
source descriptors from StandaloneMM. The protocol should be implemented
by MM drivers that publish it's error sources as error source
descriptors via HEST ACPI table.

The third patch is combination of Hest Error Source DXE and its
Standalone MM counterpart. These are responsible to collect all RAS
error sources that are implemented as MM drivers. DXE driver
communicates with Standalone MM driver using MM Communicate 2 protocol.
First call into the Standalone MM is returned with the size of MM
Communicate buffer required to hold all error source descriptor
information. The DXE driver then allocates MM Communicate buffer buffer
required to hold Error Source descriptor information like count of error
source descriptors, total length of error source descriptors and
the descriptor information itself and calls agian into Standalone MM.
The MM counterpart of this driver is implemented as a gateway driver
and DXE driver communicates only with it to get information on the error
source descriptors supported by drivers in MM. Standalone MM driver
locates all handles implementing Get Error Source Descriptor protocol.
Loops over the handles and calls into respective MM driver.

Omkar Anand Kulkarni (3):
  ArmPlatformPkg: Allow dynamic generation of HEST ACPI table
  ArmPlatformPkg: add definition for MM_HEST_ERROR_SOURCE_DESC_PROTOCOL
  ArmPlatformPkg: retreive error source descriptors from MM

 ArmPlatformPkg/ArmPlatformPkg.dec             |  12 +
 .../Drivers/Apei/HestDxe/HestDxe.inf          |  45 +++
 .../HestMmErrorSources/HestErrorSourceDxe.inf |  41 +++
 .../HestErrorSourceStandaloneMm.inf           |  51 +++
 .../HestMmErrorSourceCommon.h                 |  33 ++
 .../Include/Protocol/HestErrorSourceInfo.h    |  64 ++++
 ArmPlatformPkg/Include/Protocol/HestTable.h   |  66 ++++
 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 320 ++++++++++++++++++
 .../HestMmErrorSources/HestErrorSourceDxe.c   | 257 ++++++++++++++
 .../HestErrorSourceStandaloneMm.c             | 282 +++++++++++++++
 10 files changed, 1171 insertions(+)
 create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.inf
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommon.h
 create mode 100644 ArmPlatformPkg/Include/Protocol/HestErrorSourceInfo.h
 create mode 100644 ArmPlatformPkg/Include/Protocol/HestTable.h
 create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.c
 create mode 100644 ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandaloneMm.c

-- 
2.17.1



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