From nobody Wed Feb 11 01:09:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+74736+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+74736+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1620141663; cv=none; d=zohomail.com; s=zohoarc; b=mOWtU1x/LSjQiC+VgeHTuGHNm3utirYHMrf9aeXXlIzmg0t066dy2LyFbOVLsevFiUU9hE1yKFrEG64qzC9ne7K8mpQGGva2zLFgz2r0kcwVn9CiE0mcho/8O11fYP3OG8RLdagl6rsD61pyhMElgOT96Daqe+/mHN8+6RSDg90= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620141663; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=XnhDDsRNk6yCgS+99QgcBaUeuue/Td//xcPmTFld7ec=; b=R0AOs76SFsT8YTeAKjeWzhgSOS6/tEKo8TjLV5mFgBc2QIJmNsnJ/KE3DcIAMLVv0TCud8PmyOdQTCefUbkPFfugRu0ZeIGH8UAokP5U1gt02aCfuSdUVrpPFuDPEr8EV/tGepcvxXzgNnOqVr3jMhwyQxZU5sJS0m8XnJqMDvg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+74736+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1620141663036991.2391671841339; Tue, 4 May 2021 08:21:03 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id jXUFYY1788612xwm5mFnroPr; Tue, 04 May 2021 08:21:02 -0700 X-Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.groups.io with SMTP id smtpd.web11.7408.1620141656714496905 for ; Tue, 04 May 2021 08:20:57 -0700 X-Received: by mail-wm1-f41.google.com with SMTP id l24-20020a7bc4580000b029014ac3b80020so1518479wmi.1 for ; Tue, 04 May 2021 08:20:56 -0700 (PDT) X-Gm-Message-State: 7LTW2iHZn8W0zf6wuuyfdDmBx1787277AA= X-Google-Smtp-Source: ABdhPJzg9uDYdL+vxs/vyZ3hXeCgPfJKXgFpNvJvyIWqe5P8vnLVzrjqtSXF5Mt4iierLLuoyqi31Q== X-Received: by 2002:a1c:7716:: with SMTP id t22mr28510563wmi.154.1620141655203; Tue, 04 May 2021 08:20:55 -0700 (PDT) X-Received: from lmecxl0524.lme.st.com ([2a04:cec0:11d7:652f:452f:f0ef:fb46:d5f4]) by smtp.gmail.com with ESMTPSA id c2sm2919661wmr.22.2021.05.04.08.20.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 May 2021 08:20:54 -0700 (PDT) From: "Etienne Carriere" To: devel@edk2.groups.io Cc: Achin Gupta , Ard Biesheuvel , Jiewen Yao , Leif Lindholm , Sami Mujawar , Sughosh Ganu , Etienne Carriere Subject: [edk2-devel] [PATCH 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg Date: Tue, 4 May 2021 17:20:45 +0200 Message-Id: <20210504152048.8739-3-etienne.carriere@linaro.org> In-Reply-To: <20210504152048.8739-1-etienne.carriere@linaro.org> References: <20210504152048.8739-1-etienne.carriere@linaro.org> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,etienne.carriere@linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1620141662; bh=d6k2vcZJ93VfO3Yazc+Nh20JEbJmQrRO+eRUoHtKFqw=; h=Cc:Date:From:Reply-To:Subject:To; b=KWInpWvrekP6iw6r0PlxxIYqH8lwFNNokVwJIdIRh80QEkfLIglTCj39TnwuR9JzGT4 AjDG2wOFQKyXgi2BAvhuctkXtqTmbrCM8Jf7o1x0MjghiF9ENWbTURAhsQXr/iHqRgHs4 W+/MhykcKCBJutstS+cTzB+Tm1+CFxuCCAE= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sughosh Ganu Signed-off-by: Etienne Carriere Reviewed-by: Sami Mujawar --- ArmPkg/ArmPkg.dec | = 2 +- ArmPkg/ArmPkg.dsc | = 2 +- ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c | = 2 +- ArmPkg/Library/StandaloneMmMmuLib/{AArch64 =3D> }/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|0x0= 0000043 =20 -[PcdsFeatureFlag.AARCH64] +[PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.ARM] ## Used to select method for requesting services from S-EL1.

# TRUE - Selects FF-A calls for communication between S-EL0 and SPMC.=
# 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 =20 -[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/D= rivers/MmCommunicationDxe/MmCommunication.c index b1e3095809..4ae38a9f22 100644 --- a/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c +++ b/ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c @@ -125,7 +125,7 @@ MmCommunication2Communicate ( } =20 // SMC Function ID - CommunicateSmcArgs.Arg0 =3D ARM_SMC_ID_MM_COMMUNICATE_AARCH64; + CommunicateSmcArgs.Arg0 =3D ARM_SMC_ID_MM_COMMUNICATE; =20 // Cookie CommunicateSmcArgs.Arg1 =3D 0; diff --git a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLi= b.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 =20 Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.
+ Copyright (c) 2021, Linaro Limited SPDX-License-Identifier: BSD-2-Clause-Patent =20 @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 =3D=3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64) { + if (SvcArgs->Arg0 =3D=3D 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 =3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64; + SvcArgs.Arg0 =3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ; SvcArgs.Arg1 =3D ARM_FFA_DESTINATION_ENDPOINT_ID; SvcArgs.Arg2 =3D 0; - SvcArgs.Arg3 =3D ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64; + SvcArgs.Arg3 =3D ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES; SvcArgs.Arg4 =3D BaseAddress; } else { - SvcArgs.Arg0 =3D ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64; + SvcArgs.Arg0 =3D ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES; SvcArgs.Arg1 =3D BaseAddress; SvcArgs.Arg2 =3D 0; SvcArgs.Arg3 =3D 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 =3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64; + SvcArgs.Arg0 =3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ; SvcArgs.Arg1 =3D ARM_FFA_DESTINATION_ENDPOINT_ID; SvcArgs.Arg2 =3D 0; - SvcArgs.Arg3 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64; + SvcArgs.Arg3 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES; SvcArgs.Arg4 =3D BaseAddress; SvcArgs.Arg5 =3D EFI_SIZE_TO_PAGES (Length); SvcArgs.Arg6 =3D Permissions; } else { - SvcArgs.Arg0 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64; + SvcArgs.Arg0 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES; SvcArgs.Arg1 =3D BaseAddress; SvcArgs.Arg2 =3D EFI_SIZE_TO_PAGES (Length); SvcArgs.Arg3 =3D 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 =3D StandaloneMmMmuLib PI_SPECIFICATION_VERSION =3D 0x00010032 =20 -[Sources.AARCH64] - AArch64/ArmMmuStandaloneMmLib.c +[Sources] + ArmMmuStandaloneMmLib.c =20 [Packages] ArmPkg/ArmPkg.dec MdePkg/MdePkg.dec =20 -[FeaturePcd.AARCH64] +[FeaturePcd.ARM, FeaturePcd.AARCH64] gArmTokenSpaceGuid.PcdFfaEnable =20 [LibraryClasses] --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#74736): https://edk2.groups.io/g/devel/message/74736 Mute This Topic: https://groups.io/mt/82580246/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-