public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/3] ArmPlatformPkg: Introduce dynamic generation of HEST table
@ 2020-10-30  8:36 omkar.kulkarni
  2020-10-30  8:36 ` [PATCH 1/3] ArmPlatformPkg: Allow dynamic generation of HEST ACPI table Omkar Anand Kulkarni
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: omkar.kulkarni @ 2020-10-30  8:36 UTC (permalink / raw)
  To: devel; +Cc: Ard Biesheuvel, Leif Lindholm, Sami Mujawar, Jiewen Yao

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


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

end of thread, other threads:[~2020-10-30  8:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-30  8:36 [PATCH 0/3] ArmPlatformPkg: Introduce dynamic generation of HEST table omkar.kulkarni
2020-10-30  8:36 ` [PATCH 1/3] ArmPlatformPkg: Allow dynamic generation of HEST ACPI table Omkar Anand Kulkarni
2020-10-30  8:36 ` [PATCH 2/3] ArmPlatformPkg: add definition for MM_HEST_ERROR_SOURCE_DESC_PROTOCOL Omkar Anand Kulkarni
2020-10-30  8:36 ` [PATCH 3/3] ArmPlatformPkg: retreive error source descriptors from MM 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