From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.10536.1604047324200884443 for ; Fri, 30 Oct 2020 01:42:04 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: omkar.kulkarni@arm.com) 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 C2C53D6E; Fri, 30 Oct 2020 01:42:03 -0700 (PDT) Received: from usa.arm.com (a076764.blr.arm.com [10.162.16.42]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 250EF3F719; Fri, 30 Oct 2020 01:42:01 -0700 (PDT) From: "Omkar Anand Kulkarni" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sami Mujawar , Jiewen Yao Subject: [edk2-platforms][PATCH 0/6] Platform/ARM/Sgi: Add DMC620 1-bit ECC error handling Date: Fri, 30 Oct 2020 14:11:50 +0530 Message-Id: <20201030084156.8291-1-omkar.kulkarni@arm.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This patchset adds support for DMC-620 memory controller's 1-bit DRAM ECC error reporting and handling. The first patch implements the handling of the DMC's DRAM errors. The driver installs a handle that implements the Get HEST rrror source descriptors protocol. At boot time the handle gets queried and DMC's error source information is collected from the driver. The driver supports 1-bit ECC DRAM RAS errors for multiple DMC instances. At runtime, on RAS interrupt the DRAM handler reads the corresponding error record syndrome registers and builds Error Status Block which the OS uses to take appropriate actions. The rest of the patches in the series enable support HEST and SDEI table generation and enables firmware-first handling of DMC-620 memory controller's 1-bit DRAM ECC error. Omkar Anand Kulkarni (6): Platform/ARM: Add DMC-620 RAS error handling driver Platform/ARM/Sgi: Install SDEI ACPI table Platform/Arm/Sgi: Install HEST ACPI table Platform/Arm/Sgi: define memory region for GHES error status block Platform/Arm/Sgi: dmc-620 firmware-first error handling Platform/Arm/Sgi575: Define values for ACPI table header Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.dec | 28 ++ Platform/ARM/SgiPkg/SgiPlatform.dec | 3 + Platform/ARM/SgiPkg/SgiPlatform.dsc.inc | 34 ++ Platform/ARM/SgiPkg/PlatformStandaloneMm.dsc | 25 ++ Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc | 7 + Platform/ARM/SgiPkg/PlatformStandaloneMm.fdf | 6 + Platform/ARM/SgiPkg/SgiPlatform.fdf | 12 + Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.inf | 59 +++ .../Drivers/PlatformDxe/PlatformDxe.inf | 3 + .../{PlatformDxe.inf =3D> PlatformDxeMm.inf} | 11 +- .../Library/PlatformLib/PlatformLib.inf | 5 + Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.h | 209 ++++++++++ Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.c | 379 ++++++++++++++++++ .../Dmc620Mm/Dmc620MmErrorSourceInfo.c | 191 +++++++++ .../SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 131 ++++++ .../Library/PlatformLib/PlatformLibMem.c | 11 +- 16 files changed, 1111 insertions(+), 3 deletions(-) create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.dec create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.inf copy Platform/ARM/SgiPkg/Drivers/PlatformDxe/{PlatformDxe.inf =3D> Platf= ormDxeMm.inf} (74%) create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.h create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620Mm.c create mode 100644 Platform/ARM/Drivers/Dmc620Mm/Dmc620MmErrorSourceInfo= .c --=20 2.17.1