From nobody Mon Feb 9 18:44:56 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+79746+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79746+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1629783291; cv=none; d=zohomail.com; s=zohoarc; b=SR4P57H5+Ly/22tj5hphwryRJJ6Y6E2nHXvMq/sN9osUPchNFMut8CA7CEn6uvGif8sbh6hPuAvV9qTHZufIrDkWUKm/t53Kdl5yQuq0HXZqwxDLwunQYiaFYXOe1sWFKVLx5UUYrIE9mLWsTZdDoClF9G8VdgOLbOMMjJWK7hE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629783291; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=hkXk2xgQ4TMEUewdObLcgQ2ar2+2BFeA0oYF1FXrhR4=; b=KkfQ2UvT6xQ5zUvUQAFv4N/wy1L+uT+6Hg8n9TD1KFj4qwpBNIEkg8DXpgTedkccDKoedxUUc1J0SfVnZZNMIFp1n7JXv5EpCGJJMGqmOoYGEvbT607uN5r4nb91w4hYgprQndTBjwhw9JOiRy3nGAE6J7WDDZqzKRH0p3uxtBI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+79746+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1629783291724595.8841877366227; Mon, 23 Aug 2021 22:34:51 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id xRaCYY1788612xaNnpXKlGNo; Mon, 23 Aug 2021 22:34:51 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.35515.1629783290696064299 for ; Mon, 23 Aug 2021 22:34:50 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 605F51042; Mon, 23 Aug 2021 22:34:50 -0700 (PDT) X-Received: from usa.arm.com (a077433.blr.arm.com [10.162.46.10]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2B0B73F766; Mon, 23 Aug 2021 22:34:48 -0700 (PDT) From: "Omkar Anand Kulkarni" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar Subject: [edk2-devel] [edk2-platforms][PATCH v3 5/5] ArmPlatformPkg: Add Readme file Date: Tue, 24 Aug 2021 11:04:03 +0530 Message-Id: <20210824053403.24103-6-omkar.kulkarni@arm.com> In-Reply-To: <20210824053403.24103-1-omkar.kulkarni@arm.com> References: <20210824053403.24103-1-omkar.kulkarni@arm.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,omkar.kulkarni@arm.com X-Gm-Message-State: UwKskdZiIyHeAIdHhXtk0Hmhx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1629783291; bh=BPeBK8tIDNKLXFkg2OllRtp1ZHXNeFo0buskC3n6wo4=; h=Cc:Date:From:Reply-To:Subject:To; b=GOUtZgH/RcXWj1nZR8HEQWeheUvOtDwslLePBecmqwQzFsz5cr9T17YQDys2EqbJnnK gtXMuiAX0Q41BLkzLRub2t0QSC97MDBM4iaWzvFWVfYC9rO9S3YM0Mhx2uBzTyv22ANJ2 AvCSHXZz3x8Evq1lKzvTilrVjMlD/k2v4x8= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1629783292231100010 Content-Type: text/plain; charset="utf-8" Added a readme file that explains the software framework for dynamic generation of HEST table. Signed-off-by: Omkar Anand Kulkarni Reviewed-by: Sami Mujawar --- ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md | 66 +++++++++++++++++= +++ 1 file changed, 66 insertions(+) diff --git a/ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md b/ArmPlatf= ormPkg/Drivers/HestMmErrorSources/Readme.md new file mode 100644 index 000000000000..1b6f0713cb9a --- /dev/null +++ b/ArmPlatformPkg/Drivers/HestMmErrorSources/Readme.md @@ -0,0 +1,66 @@ +Hardware Error Source Table (HEST)[1] and Software Delegated Exception Int= erface +(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 tab= le +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: Dynamic Hest Table Generation. + +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 t= o the + HEST table. Also provides protocol interface to install the built HEST t= able. + +- HestErrorSourceDxe & HestErrorSourceStandaloneMM: + These two drivers together retrieve all possible error source descriptor= s of + type GHESv2 from the MM drivers implementing HEST Error Source Descriptor + protocol. Once all the descriptors are collected HestErrorSourceDxe appe= nds + it to HEST table using HestTableDxe driver. + +- PlatformErrorHandlerDxe: + Builds and installs SDEI ACPI table. This driver does not initialize(loa= d) + until HestErrorSourceDxe driver has finished appending all possible GHES= v2 + 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 Me= mory +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 --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79746): https://edk2.groups.io/g/devel/message/79746 Mute This Topic: https://groups.io/mt/85104610/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-