* Re: [edk2-devel] [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table
[not found] <16907A4B86D28C62.24921@groups.io>
@ 2021-07-26 14:51 ` Omkar Anand Kulkarni
2021-07-27 8:54 ` Sami Mujawar
0 siblings, 1 reply; 3+ messages in thread
From: Omkar Anand Kulkarni @ 2021-07-26 14:51 UTC (permalink / raw)
To: devel@edk2.groups.io, Omkar Kulkarni; +Cc: Ard Biesheuvel, Sami Mujawar, nd
Gentle reminder to review this patch series.
Regards,
Omkar
> Changes since v1:
> - Helper added for HEST ACPI table generation.
> - 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.
>
> - PlatformErrorHandlerDxe:
> Builds and installs SDEI ACPI table. This driver does not initialize(load)
> until HestErrorSourceDxe driver has finished appending all possible GHESv2
> error source descriptors to the HEST table. Once that is complete using the
> HestTableDxe driver it installs the HEST table.
>
> This patch series provides reference implementation for DMC-620 Dynamic
> Memory
> Controller[4] that has RAS feature enabled. This is platform code
> implemented as Standalone MM driver in edk2-platforms.
>
> References:
> [1] : ACPI 6.3, Table 18-382, Hardware Error Source Table
> [2] : SDEI Platform Design Document, revision b, 10 Appendix C, ACPI table
> definitions for SDEI
> [3] : ACPI Reference Specification 6.3, Table 18-393 GHESv2 Structure
> [4] : DMC620 Dynamic Memory Controller, revision r1p0
> [5] : UEFI Reference Specification 2.8, Appendix N - Common Platform Error
> Record
> [6] : UEFI Reference Specification 2.8, Section N.2.5 Memory Error Section
>
> Link to github branch with the patches in this series -
> https://github.com/omkkul01/edk2/tree/ras_firmware_first_edk2
>
> Omkar Anand Kulkarni (4):
> 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: Add helpers for HEST table generation
>
> ArmPlatformPkg/ArmPlatformPkg.dec | 12 +
> .../Drivers/Apei/HestDxe/HestDxe.inf | 49 +++
> .../HestMmErrorSources/HestErrorSourceDxe.inf | 44 +++
> .../HestErrorSourceStandaloneMm.inf | 51 +++
> .../HestMmErrorSourceCommon.h | 37 ++
> ArmPlatformPkg/Include/HestAcpiHeader.h | 49 +++
> .../Include/Protocol/HestErrorSourceInfo.h | 64 ++++
> ArmPlatformPkg/Include/Protocol/HestTable.h | 71 ++++
> ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 354
> ++++++++++++++++++
> .../HestMmErrorSources/HestErrorSourceDxe.c | 308 +++++++++++++++
> .../HestErrorSourceStandaloneMm.c | 312 +++++++++++++++
> 11 files changed, 1351 insertions(+)
> create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandalone
> Mm.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommo
> n.h
> create mode 100644 ArmPlatformPkg/Include/HestAcpiHeader.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/HestErrorSourceStandalone
> Mm.c
>
> --
> 2.17.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#77667): https://edk2.groups.io/g/devel/message/77667
> Mute This Topic: https://groups.io/mt/84115237/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] 3+ messages in thread
* Re: [edk2-devel] [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table
2021-07-26 14:51 ` [edk2-devel] [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table Omkar Anand Kulkarni
@ 2021-07-27 8:54 ` Sami Mujawar
2021-07-27 11:20 ` Omkar Anand Kulkarni
0 siblings, 1 reply; 3+ messages in thread
From: Sami Mujawar @ 2021-07-27 8:54 UTC (permalink / raw)
To: Omkar Kulkarni, devel@edk2.groups.io; +Cc: Ard Biesheuvel, nd
Hi Omkar,
I will pick this up for review this week.
Regards,
Sami Mujawar
On 26/07/2021, 15:52, "Omkar Kulkarni" <Omkar.Kulkarni@arm.com> wrote:
Gentle reminder to review this patch series.
Regards,
Omkar
> Changes since v1:
> - Helper added for HEST ACPI table generation.
> - 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.
>
> - PlatformErrorHandlerDxe:
> Builds and installs SDEI ACPI table. This driver does not initialize(load)
> until HestErrorSourceDxe driver has finished appending all possible GHESv2
> error source descriptors to the HEST table. Once that is complete using the
> HestTableDxe driver it installs the HEST table.
>
> This patch series provides reference implementation for DMC-620 Dynamic
> Memory
> Controller[4] that has RAS feature enabled. This is platform code
> implemented as Standalone MM driver in edk2-platforms.
>
> References:
> [1] : ACPI 6.3, Table 18-382, Hardware Error Source Table
> [2] : SDEI Platform Design Document, revision b, 10 Appendix C, ACPI table
> definitions for SDEI
> [3] : ACPI Reference Specification 6.3, Table 18-393 GHESv2 Structure
> [4] : DMC620 Dynamic Memory Controller, revision r1p0
> [5] : UEFI Reference Specification 2.8, Appendix N - Common Platform Error
> Record
> [6] : UEFI Reference Specification 2.8, Section N.2.5 Memory Error Section
>
> Link to github branch with the patches in this series -
> https://github.com/omkkul01/edk2/tree/ras_firmware_first_edk2
>
> Omkar Anand Kulkarni (4):
> 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: Add helpers for HEST table generation
>
> ArmPlatformPkg/ArmPlatformPkg.dec | 12 +
> .../Drivers/Apei/HestDxe/HestDxe.inf | 49 +++
> .../HestMmErrorSources/HestErrorSourceDxe.inf | 44 +++
> .../HestErrorSourceStandaloneMm.inf | 51 +++
> .../HestMmErrorSourceCommon.h | 37 ++
> ArmPlatformPkg/Include/HestAcpiHeader.h | 49 +++
> .../Include/Protocol/HestErrorSourceInfo.h | 64 ++++
> ArmPlatformPkg/Include/Protocol/HestTable.h | 71 ++++
> ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 354
> ++++++++++++++++++
> .../HestMmErrorSources/HestErrorSourceDxe.c | 308 +++++++++++++++
> .../HestErrorSourceStandaloneMm.c | 312 +++++++++++++++
> 11 files changed, 1351 insertions(+)
> create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandalone
> Mm.inf
> create mode 100644
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommo
> n.h
> create mode 100644 ArmPlatformPkg/Include/HestAcpiHeader.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/HestErrorSourceStandalone
> Mm.c
>
> --
> 2.17.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#77667): https://edk2.groups.io/g/devel/message/77667
> Mute This Topic: https://groups.io/mt/84115237/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] 3+ messages in thread
* Re: [edk2-devel] [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table
2021-07-27 8:54 ` Sami Mujawar
@ 2021-07-27 11:20 ` Omkar Anand Kulkarni
0 siblings, 0 replies; 3+ messages in thread
From: Omkar Anand Kulkarni @ 2021-07-27 11:20 UTC (permalink / raw)
To: Sami Mujawar, devel@edk2.groups.io; +Cc: Ard Biesheuvel, nd
Thanks Sami.
Regards,
Omkar
> Hi Omkar,
>
> I will pick this up for review this week.
>
> Regards,
>
> Sami Mujawar
>
> On 26/07/2021, 15:52, "Omkar Kulkarni" <Omkar.Kulkarni@arm.com> wrote:
>
> Gentle reminder to review this patch series.
>
> Regards,
> Omkar
>
> > Changes since v1:
> > - Helper added for HEST ACPI table generation.
> > - 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.
> >
> > - PlatformErrorHandlerDxe:
> > Builds and installs SDEI ACPI table. This driver does not initialize(load)
> > until HestErrorSourceDxe driver has finished appending all possible
> GHESv2
> > error source descriptors to the HEST table. Once that is complete using
> the
> > HestTableDxe driver it installs the HEST table.
> >
> > This patch series provides reference implementation for DMC-620
> Dynamic
> > Memory
> > Controller[4] that has RAS feature enabled. This is platform code
> > implemented as Standalone MM driver in edk2-platforms.
> >
> > References:
> > [1] : ACPI 6.3, Table 18-382, Hardware Error Source Table
> > [2] : SDEI Platform Design Document, revision b, 10 Appendix C, ACPI
> table
> > definitions for SDEI
> > [3] : ACPI Reference Specification 6.3, Table 18-393 GHESv2 Structure
> > [4] : DMC620 Dynamic Memory Controller, revision r1p0
> > [5] : UEFI Reference Specification 2.8, Appendix N - Common Platform
> Error
> > Record
> > [6] : UEFI Reference Specification 2.8, Section N.2.5 Memory Error Section
> >
> > Link to github branch with the patches in this series -
> > https://github.com/omkkul01/edk2/tree/ras_firmware_first_edk2
> >
> > Omkar Anand Kulkarni (4):
> > 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: Add helpers for HEST table generation
> >
> > ArmPlatformPkg/ArmPlatformPkg.dec | 12 +
> > .../Drivers/Apei/HestDxe/HestDxe.inf | 49 +++
> > .../HestMmErrorSources/HestErrorSourceDxe.inf | 44 +++
> > .../HestErrorSourceStandaloneMm.inf | 51 +++
> > .../HestMmErrorSourceCommon.h | 37 ++
> > ArmPlatformPkg/Include/HestAcpiHeader.h | 49 +++
> > .../Include/Protocol/HestErrorSourceInfo.h | 64 ++++
> > ArmPlatformPkg/Include/Protocol/HestTable.h | 71 ++++
> > ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.c | 354
> > ++++++++++++++++++
> > .../HestMmErrorSources/HestErrorSourceDxe.c | 308
> +++++++++++++++
> > .../HestErrorSourceStandaloneMm.c | 312 +++++++++++++++
> > 11 files changed, 1351 insertions(+)
> > create mode 100644 ArmPlatformPkg/Drivers/Apei/HestDxe/HestDxe.inf
> > create mode 100644
> > ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceDxe.inf
> > create mode 100644
> >
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestErrorSourceStandalone
> > Mm.inf
> > create mode 100644
> >
> ArmPlatformPkg/Drivers/HestMmErrorSources/HestMmErrorSourceCommo
> > n.h
> > create mode 100644 ArmPlatformPkg/Include/HestAcpiHeader.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/HestErrorSourceStandalone
> > Mm.c
> >
> > --
> > 2.17.1
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#77667):
> https://edk2.groups.io/g/devel/message/77667
> > Mute This Topic: https://groups.io/mt/84115237/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] 3+ messages in thread
end of thread, other threads:[~2021-07-27 11:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <16907A4B86D28C62.24921@groups.io>
2021-07-26 14:51 ` [edk2-devel] [PATCH v2 0/4] ArmPlatformPkg: Add support to generate HEST ACPI table Omkar Anand Kulkarni
2021-07-27 8:54 ` Sami Mujawar
2021-07-27 11:20 ` 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