From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mx.groups.io with SMTP id smtpd.web12.35194.1614003033323608319 for ; Mon, 22 Feb 2021 06:10:34 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EvTrCPW5; spf=pass (domain: kernel.org, ip: 198.145.29.99, mailfrom: ardb@kernel.org) Received: by mail.kernel.org (Postfix) with ESMTPSA id 65ECB64E20 for ; Mon, 22 Feb 2021 14:10:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1614003030; bh=fKc4MQJZvTPCE+ghjNeEmANEX4J9mLspXHhsJPPmtjs=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=EvTrCPW5KShFDeb2JZjCf9iP1dg4SxUZfkYqO7SI6AXi4MeIxp48+YBRGca/xuYm7 isfTsN13eCyTRU3qT5cWOzglz5P06Fm6PaTg50W8/iDbdLLQyQuAXviWCHDRhq7ePA 1WqCONtw1tg+ggCml5vaEzdn/evHovZQwzO8xcP67BeS7UFjvqzjTHobDo4BEHj55A XTFp4amKZzXUZvwkYCX4NScnue0VqCDwmGUhZ+fRKzAnJI8cWKcgSKvPyQQdJ4w495 K5Qk+By4H7ERPai+nABWZsVxUDVsMN0V5tLo//shUZcX2OO294GGN2QuVHYc6VaHFl 6UEVP7kLaHSog== Received: by mail-oi1-f169.google.com with SMTP id w1so14094343oic.0 for ; Mon, 22 Feb 2021 06:10:30 -0800 (PST) X-Gm-Message-State: AOAM532va4Ucs77Lv0oiRoZCBqQc0geWkT46aVCicyZzgWm171LsGaQj rPmTjO8tUyfSPGHmGZIy+0EzzZ6BKXTR5evsd1Q= X-Google-Smtp-Source: ABdhPJyhCZjoHFhFZddwlV+D9oyT2tLvbOybqhgqi4AnOo2+wD83h3NCDDa4mdeiVGLQuqqKAdYhAM03UMxBsDQYdIE= X-Received: by 2002:aca:b6c1:: with SMTP id g184mr15916209oif.47.1614003029553; Mon, 22 Feb 2021 06:10:29 -0800 (PST) MIME-Version: 1.0 References: <20210219063607.27920-1-sughosh.ganu@linaro.org> In-Reply-To: <20210219063607.27920-1-sughosh.ganu@linaro.org> From: "Ard Biesheuvel" Date: Mon, 22 Feb 2021 15:10:18 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 00/14] Add support for using FF-A calls To: Sughosh Ganu Cc: devel@edk2.groups.io, Sami Mujawar , Ilias Apalodimas , Ard Biesheuvel Content-Type: text/plain; charset="UTF-8" On Fri, 19 Feb 2021 at 07:36, Sughosh Ganu wrote: > > The following patch series adds support for using the Firmware > Framework(FF-A) as a transport mechanism for requesting services from > the Secure Partition Manager(SPM). This is done through a Pcd which > can be used to enable the FF-A mechanism or to use the earlier used > SVC calls. > > The patches have been pushed to my github repository[1] > > Ran the CI tests through the github draft pull request, and all the CI > test pass. Ran the PatchCheck script, with no errors. > > Changes since V4: > * Define all variable Pcd's under the [Pcd] section instead of > [FixedPcd], as suggested by Liming Gao > > Changes since V3: > * Put the PcdFfaEnable under the PcdsFeatureFlag.AARCH64 section to > avoid build breakage for the X64 StandaloneMm builds. > * Put the macro definitions for the SPM major and minor versions in a > separate patch, as suggested by Sami. > * Separated out the declaration of the SPM major and minor version > macros in the earlier patch as was suggested by Sami. > * Put the macro definitions for the SPM major and minor versions with > FF-A support in a separate patch, as suggested by Sami. > * Declare the PcdFfaEnable Pcd Feature flag under FeaturePcd.AARCH64 > to avoid build break for the X64 build of StandaloneMm. > * Change the patch header to have the ArmPkg prefix instead of > StandaloneMmMmuLib as suggested by Sami. > > Changes since V2: > * Added a STATIC storage class specifier for mSpmMajorVer and > mSpmMinorVer variables > * Added a STATIC storage class specifier for mSpmMajorVerFfa and > mSpmMinorVerFfa variables > * Add braces for if/else statements > * Add a check for EFI_NOT_FOUND as a possible return value from > LocateStandaloneMmCorePeCoffData in _ModuleEntryPoint function > * Check for the return value in Arg0 after the Direct Request call to > handle errors returned > * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS > response won't be expected in return to a Direct Request call to get > the memory attributes > * Check for the return value in Arg0 after the Direct Request call to > handle errors returned > * Put a comment to reflect the fact that FFA_INTERRUPT and FFA_SUCCESS > response won't be expected in return to a Direct Request call to set > the memory attributes > > Changes since V1: > Handled review comments from Sami Mujawar > > [1] - https://github.com/sughoshg/edk2/tree/implement_ffa_svc_optional_v5 > > > Achin Gupta (7): > ArmPkg/IndustryStandard: Add barebones FF-A header > ArmPkg/ArmSvcLib: Return x4-x7 in output parameters > StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry > point > StandaloneMmPkg: Add option to use FF-A calls for communication with > SPM > ArmPkg: Use FF-A header file in Standalone MM Arm MMU library > ArmPkg: Allow FF-A calls to get memory region's attributes > ArmPkg: Allow FF-A calls to set memory region's attributes > > Ilias Apalodimas (2): > MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase > to Pcd > StandaloneMmPkg: Allow sending FFA Direct Request message to > StandaloneMm > > Sughosh Ganu (5): > ArmPkg: Introduce support for PcdFfaEnable > ArmPkg: Add macros for SPM version > StandaloneMmPkg: Use macros for SPM version check > ArmPkg: Add macros for SPM version with FF-A support enabled > StandaloneMmPkg: Add option to use FF-A calls for getting SPM version > Unfortunately, I won't be able to do a detailed review of this series, but I have discussed these patches before with Sami off-list, and based on that and on my earlier review of v3: Acked-by: Ard Biesheuvel for the series, where necessary. > ArmPkg/ArmPkg.dec | 7 + > .../ArmMmuStandaloneMmLib.inf | 3 + > .../RuntimeDxe/VariableStandaloneMm.inf | 4 +- > .../StandaloneMmCoreEntryPoint.inf | 3 + > ArmPkg/Include/IndustryStandard/ArmFfaSvc.h | 44 +++++ > ArmPkg/Include/IndustryStandard/ArmMmSvc.h | 3 + > ArmPkg/Include/Library/ArmSvcLib.h | 10 +- > .../AArch64/ArmMmuStandaloneMmLib.c | 167 +++++++++++++++--- > .../StandaloneMmCpu/AArch64/EventHandle.c | 4 +- > .../AArch64/StandaloneMmCoreEntryPoint.c | 133 +++++++++++--- > ArmPkg/Library/ArmSvcLib/AArch64/ArmSvc.S | 4 +- > 11 files changed, 321 insertions(+), 61 deletions(-) > create mode 100644 ArmPkg/Include/IndustryStandard/ArmFfaSvc.h > > -- > 2.17.1 > >