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.web11.1226.1689086234686680988 for ; Tue, 11 Jul 2023 07:37:14 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: nishant.sharma@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 5E3A01FB; Tue, 11 Jul 2023 07:37:56 -0700 (PDT) Received: from usa.arm.com (iss-desktop02.cambridge.arm.com [10.1.196.79]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3F00D3F740; Tue, 11 Jul 2023 07:37:13 -0700 (PDT) From: "Nishant Sharma" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar , Thomas Abraham , Sayanta Pattanayak , Achin Gupta Subject: [edk2-platforms][PATCH V1 00/20] Add the support for ARM Firmware First Framework Date: Tue, 11 Jul 2023 15:36:38 +0100 Message-Id: <20230711143658.781597-1-nishant.sharma@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable V1 : Following patchset add the support of ARM Firmware Framework protocol to MM communication. Following chagnes are made to enable the support 1> Changed the FFA enable flag(PcdFfaEnable) to integer to enable it use in assembly. 2> Add the support to Reserved SP stack space and program in startup code. 3> Added ABI for enabling FFA protocol 4> Added conditional support in Standalone MM to parse DTB and populated configuration info required for FFA. 5> Added FFA support in MmCommunicationDxe module. Patches are pushed to https://github.com/nissha03/edk2/tree/ArmFirmwareFramework ARM Firmware Framework Protocol: https://developer.arm.com/documentation/den0077/latest/ Achin Gupta (19): StandaloneMmPkg: Allocate and initialise SP stack from internal memory StandaloneMmPkg: Include libfdt in the StMM ArmPkg: Add data structures to receive FF-A boot information ArmPkg/ArmFfaSvc: Add helper macros and fids ArmPkg: Add support for FFA_MEM_PERM_GET/SET ABIs StandaloneMmPkg: define new data structure to stage FF-A boot information StandaloneMmPkg: Add backwards compatible support to detect FF-A v1.1 StandaloneMmPkg: parse SP manifest and populate new boot information StandaloneMmPkg: Populate Hoblist for SP init from StMM boot information StandaloneMmPkg: Skip zero sized sections while tweaking page permissions StandaloneMmPkg: Add global check for FF-A abis ArmPkg: Bump the StMM SP FF-A minor version to 1 ArmPkg/MmCommunicationDxe: Introduce FF-A version check ArmPkg/MmCommunicationDxe: Add support for obtaining FF-A partition ID ArmPkg/MmCommunicationDxe: Register FF-A RX/TX buffers ArmPkg/MmCommunicationDxe: Unmap FF-A RX/TX buffers during ExitBootServices ArmPkg/MmCommunicationDxe: Discover the StMM SP ArmPkg/MmCommunicationDxe: Use the FF-A transport for MM requests StandaloneMmPkg: Add support for MM requests as FF-A direct messages Nishant Sharma (1): ArmPkg: Change PcdFfaEnable flag datatype ArmPkg/ArmPkg.dec = | 14 +- StandaloneMmPkg/StandaloneMmPkg.dsc = | 3 +- ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf = | 3 + ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf = | 4 +- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntry= Point.inf | 8 +- ArmPkg/Drivers/MmCommunicationDxe/MmCommunicate.h = | 7 +- ArmPkg/Include/IndustryStandard/ArmFfaSvc.h = | 133 ++++- StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h = | 39 +- ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c = | 332 ++++++++++-- ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c = | 140 ++++- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c = | 186 ++++++- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c = | 18 +- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreE= ntryPoint.c | 561 +++++++++++++++++--- StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/AArch64/ModuleEnt= ryPoint.S | 68 +++ 14 files changed, 1367 insertions(+), 149 deletions(-) create mode 100644 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Ar= m/AArch64/ModuleEntryPoint.S --=20 2.34.1