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.web10.7102.1588683779295035575 for ; Tue, 05 May 2020 06:02:59 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: aditya.angadi@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 D4D4630E; Tue, 5 May 2020 06:02:57 -0700 (PDT) Received: from usa.arm.com (a073440-lin.blr.arm.com [10.162.16.34]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E68843F68F; Tue, 5 May 2020 06:02:55 -0700 (PDT) From: "Aditya Angadi" To: devel@edk2.groups.io Cc: thomas.abraham@arm.com, ard.biesheuvel@arm.com, vijayenthiran.subramaniam@arm.com, leif@nuviainc.com, Aditya Angadi Subject: [PATCH v5][edk2-platforms 00/17] Platform/Arm/Sgi: Add platform support for RD-Daniel Date: Tue, 5 May 2020 18:31:57 +0530 Message-Id: <20200505130214.25592-1-aditya.angadi@arm.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Changes since v4: - Addressed all the comments from Ard. - Split the patches into multiple smaller patches where applicable. - Reworded the commit messages to be more accurate about the change being introduced. - Picked up Ard's review tags Changes since v3: - Addressed all the comments from Ard. - Each platform with SgiPkg would be built independently of the other. - Removed all references to ACPI tables of platforms that are not part of the build of a platform. - Added support for multi-chip NUMA memory nodes. - Added SRAT table for RdN1EdgeX2 platform. - Did not pickup the review tags from Ard because the code change from last version. This patch series adds support for Arm's RD-Daniel platform. There are tw= o configurations of this platform being added in this series - Config-M and Config-XLR. RD-Daniel is the next Arm's reference design subsystem. Config XLR is a multi chip platform. The first five patches rework the SgiPkg code to move away from being able to build a single binary for all the supported platforms to independent binary for each platform. This was requried as the first step to add newer RD platform support in SgiPkg as these newer platforms have differences in the programming interface. Patches 6 to 11 in the series refactor and consolidate the code in SgiPkg in preparation for adding support for numa memory nodes and the RD-Daniel platform. Patches 12 and 13 in the series add SRAT table for RD-N1-Edge platform and removes the hard-code chip count on the platform. The next four patches add support for the RD-Daniel platforms. There are two configuration of RD-Daniel platform. - RD-Daniel Config-M: This is single chip platform that includes 16 Neoverse cores. - RD-Daniel Config-XLR: This is multi-chip platform that includes four identical chip connected over a coherent link with all the four chips put together into a single package. Each chip includes four Neoverse cores and it attached to 8GB of RAM. Aditya Angadi (15): Platform/ARM/SgiPkg: Create platform specific dsc files Platform/ARM/SgiPkg: Let platforms define core and cluster count Platform/ARM/SgiPkg: Let platforms define GIC related PCD values Platform/ARM/SgiPkg: Create platform specific fd include file Platform/ARM/SgiPkg: Let platform specify the ACPI tables to include Platform/ARM/SgiPkg: Obtain rd-e1-edge platform core count from PCD Platform/ARM/SgiPkg: Refactor GIC related ACPI helper macros Platform/ARM/SgiPkg: Update SGI-575 MADT table to ACPI 6.2 Platform/ARM/SgiPkg: Move common platform description to SSDT Platform/ARM/SgiPkg: Add helper macros for SRAT table Platform/ARM/SgiPkg: Use chip count constant on rdn1edgex2 platform Platform/ARM/SgiPkg: Add ACPI tables for Rd-Daniel Config-M Platform/ARM/SgiPkg: Add initial support for RD-Daniel Config-M platform Platform/ARM/SgiPkg: Add ACPI tables for RD-Daniel Config-XLR Platform/ARM/SgiPkg: Add initial support for RD-Daniel Config-XLR platform Vijayenthiran Subramaniam (2): Platform/ARM/SgiPkg: Add support for remote numa memory nodes Platform/ARM/SgiPkg: Add SRAT table for RdN1Edge dual-chip platform .../SgiPkg/AcpiTables/RdDanielCfgM/Dsdt.asl | 118 +++++++++++++ .../SgiPkg/AcpiTables/RdDanielCfgM/Madt.aslc | 141 ++++++++++++++++ ...iTables.inf =3D> RdDanielCfgMAcpiTables.inf} | 24 ++- .../SgiPkg/AcpiTables/RdDanielCfgXlr/Dsdt.asl | 125 ++++++++++++++ .../AcpiTables/RdDanielCfgXlr/Madt.aslc | 157 ++++++++++++++++++ .../AcpiTables/RdDanielCfgXlr/Srat.aslc | 111 +++++++++++++ ...ables.inf =3D> RdDanielCfgXlrAcpiTables.inf} | 32 +++- .../ARM/SgiPkg/AcpiTables/RdE1Edge/Dsdt.asl | 70 +------- .../ARM/SgiPkg/AcpiTables/RdE1Edge/Madt.aslc | 71 +------- .../SgiPkg/AcpiTables/RdE1EdgeAcpiTables.inf | 5 +- .../ARM/SgiPkg/AcpiTables/RdN1Edge/Dsdt.asl | 69 +------- .../ARM/SgiPkg/AcpiTables/RdN1Edge/Madt.aslc | 68 +------- .../SgiPkg/AcpiTables/RdN1EdgeAcpiTables.inf | 5 +- .../SgiPkg/AcpiTables/RdN1EdgeX2/Madt.aslc | 59 +------ .../SgiPkg/AcpiTables/RdN1EdgeX2/Srat.aslc | 95 +++++++++++ .../AcpiTables/RdN1EdgeX2AcpiTables.inf | 9 +- .../ARM/SgiPkg/AcpiTables/Sgi575/Madt.aslc | 130 ++++----------- .../SgiPkg/AcpiTables/Sgi575AcpiTables.inf | 2 +- .../{RdN1Edge/Dsdt.asl =3D> SsdtRos.asl} | 63 ++----- .../SgiPkg/Drivers/PlatformDxe/PlatformDxe.c | 69 +------- .../Drivers/PlatformDxe/PlatformDxe.inf | 5 +- Platform/ARM/SgiPkg/Include/SgiAcpiHeader.h | 89 +++++++++- Platform/ARM/SgiPkg/Include/SgiPlatform.h | 20 ++- .../Library/PlatformLib/PlatformLib.inf | 6 +- .../Library/PlatformLib/PlatformLibMem.c | 95 ++++++++++- .../ARM/SgiPkg/RdDanielCfgM/RdDanielCfgM.dsc | 51 ++++++ .../SgiPkg/RdDanielCfgM/RdDanielCfgM.fdf.inc | 10 ++ .../SgiPkg/RdDanielCfgXlr/RdDanielCfgXlr.dsc | 54 ++++++ .../RdDanielCfgXlr/RdDanielCfgXlr.fdf.inc | 10 ++ Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc | 51 ++++++ Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.fdf.inc | 10 ++ Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc | 51 ++++++ Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.fdf.inc | 10 ++ Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc | 54 ++++++ .../ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.fdf.inc | 10 ++ Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc | 53 ++++++ Platform/ARM/SgiPkg/Sgi575/Sgi575.fdf.inc | 10 ++ Platform/ARM/SgiPkg/SgiPlatform.dec | 13 +- .../{SgiPlatform.dsc =3D> SgiPlatform.dsc.inc} | 31 +--- Platform/ARM/SgiPkg/SgiPlatform.fdf | 5 +- 40 files changed, 1433 insertions(+), 628 deletions(-) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdDanielCfgM/Dsdt.asl create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdDanielCfgM/Madt.aslc copy Platform/ARM/SgiPkg/AcpiTables/{Sgi575AcpiTables.inf =3D> RdDanielC= fgMAcpiTables.inf} (68%) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdDanielCfgXlr/Dsdt.as= l create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdDanielCfgXlr/Madt.as= lc create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdDanielCfgXlr/Srat.as= lc copy Platform/ARM/SgiPkg/AcpiTables/{Sgi575AcpiTables.inf =3D> RdDanielC= fgXlrAcpiTables.inf} (61%) create mode 100644 Platform/ARM/SgiPkg/AcpiTables/RdN1EdgeX2/Srat.aslc copy Platform/ARM/SgiPkg/AcpiTables/{RdN1Edge/Dsdt.asl =3D> SsdtRos.asl}= (58%) create mode 100644 Platform/ARM/SgiPkg/RdDanielCfgM/RdDanielCfgM.dsc create mode 100644 Platform/ARM/SgiPkg/RdDanielCfgM/RdDanielCfgM.fdf.inc create mode 100644 Platform/ARM/SgiPkg/RdDanielCfgXlr/RdDanielCfgXlr.dsc create mode 100644 Platform/ARM/SgiPkg/RdDanielCfgXlr/RdDanielCfgXlr.fdf= .inc create mode 100644 Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.dsc create mode 100644 Platform/ARM/SgiPkg/RdE1Edge/RdE1Edge.fdf.inc create mode 100644 Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.dsc create mode 100644 Platform/ARM/SgiPkg/RdN1Edge/RdN1Edge.fdf.inc create mode 100644 Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.dsc create mode 100644 Platform/ARM/SgiPkg/RdN1EdgeX2/RdN1EdgeX2.fdf.inc create mode 100644 Platform/ARM/SgiPkg/Sgi575/Sgi575.dsc create mode 100644 Platform/ARM/SgiPkg/Sgi575/Sgi575.fdf.inc rename Platform/ARM/SgiPkg/{SgiPlatform.dsc =3D> SgiPlatform.dsc.inc} (8= 8%) --=20 2.17.1