public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sami Mujawar" <sami.mujawar@arm.com>
To: Etienne Carriere <etienne.carriere@linaro.org>, devel@edk2.groups.io
Cc: Achin Gupta <achin.gupta@arm.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Leif Lindholm <leif@nuviainc.com>,
	Sughosh Ganu <sughosh.ganu@linaro.org>,
	nd@arm.com
Subject: Re: [PATCH v3 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg
Date: Tue, 18 May 2021 12:05:09 +0100	[thread overview]
Message-ID: <d686121f-756e-c0a4-094a-eff70dad2749@arm.com> (raw)
In-Reply-To: <20210517074054.30281-2-etienne.carriere@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 6768 bytes --]

Hi Etienne,

This patch looks good to me.

Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>

Regards,

Sami Mujawar


On 17/05/2021 08:40 AM, Etienne Carriere wrote:
> Changes in ArmPkg to prepare building StandaloneMm firmware for
> 32bit Arm architectures.
>
> Adds MmCommunicationDxe driver and ArmMmuPeiLib and
> ArmmmuStandaloneMmLib libraries to the list of the standard
> components build for ArmPkg on when ARM architectures.
>
> Changes path of source file AArch64/ArmMmuStandaloneMmLib.c
> and compile it for both 32bit and 64bit architectures.
>
> Cc: Achin Gupta <achin.gupta@arm.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Sughosh Ganu <sughosh.ganu@linaro.org>
> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
> ---
> No change since v2
> No change since v1
> ---
>   ArmPkg/ArmPkg.dec                                                       |  2 +-
>   ArmPkg/ArmPkg.dsc                                                       |  2 +-
>   ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c                     |  2 +-
>   ArmPkg/Library/StandaloneMmMmuLib/{AArch64 => }/ArmMmuStandaloneMmLib.c | 15 ++++++++-------
>   ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf             |  6 +++---
>   5 files changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
> index 214b2f5892..6ed51edd03 100644
> --- a/ArmPkg/ArmPkg.dec
> +++ b/ArmPkg/ArmPkg.dec
> @@ -137,7 +137,7 @@
>     # hardware coherency (i.e., no virtualization or cache coherent DMA)
>     gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride|FALSE|BOOLEAN|0x00000043
>   
> -[PcdsFeatureFlag.AARCH64]
> +[PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.ARM]
>     ## Used to select method for requesting services from S-EL1.<BR><BR>
>     #   TRUE  - Selects FF-A calls for communication between S-EL0 and SPMC.<BR>
>     #   FALSE - Selects SVC calls for communication between S-EL0 and SPMC.<BR>
> diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc
> index 926986cf7f..4c79dadf9e 100644
> --- a/ArmPkg/ArmPkg.dsc
> +++ b/ArmPkg/ArmPkg.dsc
> @@ -158,7 +158,7 @@
>     ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
>     ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLibNull.inf
>   
> -[Components.AARCH64]
> +[Components.AARCH64, Components.ARM]
>     ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
>     ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
>     ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> diff --git a/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c b/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c
> index b1e3095809..4ae38a9f22 100644
> --- a/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c
> +++ b/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c
> @@ -125,7 +125,7 @@ MmCommunication2Communicate (
>     }
>   
>     // SMC Function ID
> -  CommunicateSmcArgs.Arg0 = ARM_SMC_ID_MM_COMMUNICATE_AARCH64;
> +  CommunicateSmcArgs.Arg0 = ARM_SMC_ID_MM_COMMUNICATE;
>   
>     // Cookie
>     CommunicateSmcArgs.Arg1 = 0;
> diff --git a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> similarity index 92%
> rename from ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c
> rename to ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> index dd014beec8..20f873e680 100644
> --- a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c
> +++ b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> @@ -2,6 +2,7 @@
>     File managing the MMU for ARMv8 architecture in S-EL0
>   
>     Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR>
> +  Copyright (c) 2021, Linaro Limited
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>   
>     @par Reference(s):
> @@ -62,7 +63,7 @@ SendMemoryPermissionRequest (
>       // for other Direct Request calls which are not atomic
>       // We therefore check only for Direct Response by the
>       // callee.
> -    if (SvcArgs->Arg0 == ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64) {
> +    if (SvcArgs->Arg0 == ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP) {
>         // A Direct Response means FF-A success
>         // Now check the payload for errors
>         // The callee sends back the return value
> @@ -164,13 +165,13 @@ GetMemoryPermissions (
>     ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS));
>     if (FeaturePcdGet (PcdFfaEnable)) {
>       // See [2], Section 10.2 FFA_MSG_SEND_DIRECT_REQ.
> -    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64;
> +    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
>       SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
>       SvcArgs.Arg2 = 0;
> -    SvcArgs.Arg3 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64;
> +    SvcArgs.Arg3 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES;
>       SvcArgs.Arg4 = BaseAddress;
>     } else {
> -    SvcArgs.Arg0 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64;
> +    SvcArgs.Arg0 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES;
>       SvcArgs.Arg1 = BaseAddress;
>       SvcArgs.Arg2 = 0;
>       SvcArgs.Arg3 = 0;
> @@ -219,15 +220,15 @@ RequestMemoryPermissionChange (
>     ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS));
>     if (FeaturePcdGet (PcdFfaEnable)) {
>       // See [2], Section 10.2 FFA_MSG_SEND_DIRECT_REQ.
> -    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64;
> +    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
>       SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
>       SvcArgs.Arg2 = 0;
> -    SvcArgs.Arg3 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64;
> +    SvcArgs.Arg3 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES;
>       SvcArgs.Arg4 = BaseAddress;
>       SvcArgs.Arg5 = EFI_SIZE_TO_PAGES (Length);
>       SvcArgs.Arg6 = Permissions;
>     } else {
> -    SvcArgs.Arg0 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64;
> +    SvcArgs.Arg0 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES;
>       SvcArgs.Arg1 = BaseAddress;
>       SvcArgs.Arg2 = EFI_SIZE_TO_PAGES (Length);
>       SvcArgs.Arg3 = Permissions;
> diff --git a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> index 6c71fe0023..ff20e58980 100644
> --- a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> +++ b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> @@ -16,14 +16,14 @@
>     LIBRARY_CLASS                  = StandaloneMmMmuLib
>     PI_SPECIFICATION_VERSION       = 0x00010032
>   
> -[Sources.AARCH64]
> -  AArch64/ArmMmuStandaloneMmLib.c
> +[Sources]
> +  ArmMmuStandaloneMmLib.c
>   
>   [Packages]
>     ArmPkg/ArmPkg.dec
>     MdePkg/MdePkg.dec
>   
> -[FeaturePcd.AARCH64]
> +[FeaturePcd.ARM, FeaturePcd.AARCH64]
>     gArmTokenSpaceGuid.PcdFfaEnable
>   
>   [LibraryClasses]


[-- Attachment #2: Type: text/html, Size: 7411 bytes --]

  reply	other threads:[~2021-05-18 11:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-17  7:40 [PATCH v3 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs Etienne Carriere
2021-05-17  7:40 ` [PATCH v3 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg Etienne Carriere
2021-05-18 11:05   ` Sami Mujawar [this message]
2021-05-17  7:40 ` [PATCH v3 3/5] GenFv: Arm: support images entered in Thumb mode Etienne Carriere
2021-05-18 11:05   ` Sami Mujawar
2021-05-17  7:40 ` [PATCH v3 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures Etienne Carriere
2021-05-18 11:05   ` Sami Mujawar
2021-05-17  7:40 ` [PATCH v3 5/5] StandaloneMmPkg: build for 32bit arm machines Etienne Carriere
2021-05-18 11:07   ` Sami Mujawar
2021-05-19  6:20     ` Etienne Carriere
2021-05-18 11:04 ` [PATCH v3 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs Sami Mujawar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d686121f-756e-c0a4-094a-eff70dad2749@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox