public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Re: [edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table
       [not found] <169E2742D9347879.18298@groups.io>
@ 2021-08-24  5:51 ` Omkar Anand Kulkarni
  2021-09-03 13:38   ` Omkar Anand Kulkarni
  0 siblings, 1 reply; 2+ messages in thread
From: Omkar Anand Kulkarni @ 2021-08-24  5:51 UTC (permalink / raw)
  To: devel@edk2.groups.io, Omkar Kulkarni; +Cc: Ard Biesheuvel, Sami Mujawar

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@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [omkar.kulkarni@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.

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

* Re: [edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table
  2021-08-24  5:51 ` [edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table Omkar Anand Kulkarni
@ 2021-09-03 13:38   ` Omkar Anand Kulkarni
  0 siblings, 0 replies; 2+ messages in thread
From: Omkar Anand Kulkarni @ 2021-09-03 13:38 UTC (permalink / raw)
  To: devel@edk2.groups.io; +Cc: Ard Biesheuvel, Sami Mujawar, nd

Gentle reminder, to review this patch series.

- Omkar

> On August 24, 2021 11:21 AM, Omkar Kulkarni wrote:
> 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@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [omkar.kulkarni@arm.com]
> > -=-=-=-=-=-=
> >


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

end of thread, other threads:[~2021-09-03 13:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <169E2742D9347879.18298@groups.io>
2021-08-24  5:51 ` [edk2-devel] [edk2-platforms][PATCH v3 0/5] Add support to generate HEST ACPI table Omkar Anand Kulkarni
2021-09-03 13:38   ` 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