From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f50.google.com (mail-ej1-f50.google.com [209.85.218.50]) by mx.groups.io with SMTP id smtpd.web10.6587.1628683947392278510 for ; Wed, 11 Aug 2021 05:12:27 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=TuQHYwT0; spf=pass (domain: linaro.org, ip: 209.85.218.50, mailfrom: etienne.carriere@linaro.org) Received: by mail-ej1-f50.google.com with SMTP id o23so3853870ejc.3 for ; Wed, 11 Aug 2021 05:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=nhea5eUQTX7Vv4ZLaSf8CUl9qPhuTmrbyMZV/kEOoYs=; b=TuQHYwT0/qtg6/sttkij5LpBrMwBDG8LKgcUaZ0vTUR/1AItfUiD4avHvI463N6AEt 9l+Ut7KgzChO2DKUoTA3sbWRYS9x4/0nxBcsTUVs5BGwVnPgDwb6GqeUPee4PcGN8paT M43bl791Dh72mIDbj4ZvaDslkysmMpGo/Rp7lXVKhQwUUXel7loYgXKOAAfzQrIb8oOI RqCVk9wtr1bULtTlD5mzXxbq4xbcvk+WNivnHHeekAdM0ZcPyXBvrSY/oXswK8jaOeRt CnwbGhy7RsZxhn+w6kQUZ7DRW88dyqrH9fLD3JRDNpY/aksoT8HhNT0tMGeQjHxh/wgJ wMxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=nhea5eUQTX7Vv4ZLaSf8CUl9qPhuTmrbyMZV/kEOoYs=; b=iKLhSMzOOq1sYfplirFSgKMFk8PYaG+CSNxpk3DZ98zIrwJNpUnteolkmDipKkgOkc TShKnHmxmUnvzqkYkfrhuBPClNzbc1HB/hcqOWYgDkD1kZDbgfK1o6Qf/aP+4BdK8zwt 0eagyRgrN90VXsJM6PCKKRKD6pVcHZhk658kvHSNKUiIDUQ4w4WXmAJ39svcPvZVOOgZ 8Ua18IIvJIH7RFqTGONeAcwwfeP245RWUuxv8qQaZYsLBOMYnpYVoaKoo0cFGFi75Ulo hTjBiL8P9N+WfJM4ZM85/7kd4GSjbO2kB4C7qsc/lozPcqgSJPW7v4lFahXZ5Q9s/qoT dUqw== X-Gm-Message-State: AOAM531BvJ0ruXqVgcBkryt5J8jwn9YbHvikxkRzfyDUTwwEKoxi6xsB zWnqpFyGM6ZTBJJqsT/rBgtgQY52Rs6+djKVyklXCg== X-Google-Smtp-Source: ABdhPJzt2l22IGE6qfjMiTYVI109iFWcU4hzNyCI91w14pQYJpN+xEEMRsTJLzhCLnk7AQbKVsgSHDgIRwYZL+YQWaI= X-Received: by 2002:a17:906:8a6a:: with SMTP id hy10mr3381922ejc.319.1628683945725; Wed, 11 Aug 2021 05:12:25 -0700 (PDT) MIME-Version: 1.0 References: <20210809151946.27600-1-etienne.carriere@linaro.org> <20210809151946.27600-2-etienne.carriere@linaro.org> <005401d78e53$77bc0700$67341500$@byosoft.com.cn> In-Reply-To: From: "Etienne Carriere" Date: Wed, 11 Aug 2021 14:12:14 +0200 Message-ID: Subject: =?UTF-8?B?UmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSCB2NSAyLzVdIEFybVBrZzogcHJlcGFyZSAzMmJpdCBBUk0gYnVpbGQgb2YgU3RhbmRhbG9uZU1tUGtn?= To: Ard Biesheuvel Cc: edk2-devel-groups-io , "Liming Gao (Byosoft address)" , Sami Mujawar , Achin Gupta , Ard Biesheuvel , Jiewen Yao , Leif Lindholm , Sughosh Ganu Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Many thanks to all for the help and patience. Etienne On Wed, 11 Aug 2021 at 13:37, Ard Biesheuvel wrote: > > On Wed, 11 Aug 2021 at 12:46, Ard Biesheuvel wrote: > > > > On Wed, 11 Aug 2021 at 03:52, gaoliming wrot= e: > > > > > > Etienne: > > > Thanks for your update. This version should pass CI. > > > > > > Sami: > > > Can you help review the updated patch? So, it can still catch this = stable > > > tag. > > > > > > > I will go ahead and review/submit it if you are ok with that. > > > > Merged as #1894 > > Thanks all > > > > > > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > > > =E5=8F=91=E4=BB=B6=E4=BA=BA: Etienne Carriere > > > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B48=E6=9C=889=E6= =97=A5 23:20 > > > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > > > > =E6=8A=84=E9=80=81: Achin Gupta ; Ard Biesheuv= el > > > > ; Jiewen Yao ; Lei= f > > > > Lindholm ; Sami Mujawar ; > > > > Sughosh Ganu ; Liming Gao > > > > ; Etienne Carriere > > > > =E4=B8=BB=E9=A2=98: [PATCH v5 2/5] ArmPkg: prepare 32bit ARM build = of StandaloneMmPkg > > > > > > > > Changes in ArmPkg to prepare building StandaloneMm firmware for > > > > 32bit Arm architectures. > > > > > > > > Adds ArmmmuStandaloneMmLib library 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. > > > > > > > > Signed-off-by: Etienne Carriere > > > > --- > > > > Changes since v4: > > > > - Remove changes related to MmCommunicationDxe and ArmMmuPeiLib > > > > since > > > > they currently don't need to be built for ARM targets. > > > > - Remove review tags applied to patch v3. > > > > > > > > Changes since v3: > > > > - Remove Cc tags and apply review tag. > > > > > > > > No change since v2 > > > > No change since v1 > > > > --- > > > > ArmPkg/ArmPkg.dec > > > > | 2 +- > > > > ArmPkg/ArmPkg.dsc > > > > | 2 ++ > > > > ArmPkg/Library/StandaloneMmMmuLib/{AArch64 > > > > =3D> }/ArmMmuStandaloneMmLib.c | 15 ++++++++------- > > > > ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf > > > > | 6 +++--- > > > > 4 files changed, 14 insertions(+), 11 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|BOO > > > > LEAN|0x00000043 > > > > > > > > -[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 a= nd > > > > SPMC.
> > > > # FALSE - Selects SVC calls for communication between S-EL0 an= d > > > > SPMC.
> > > > diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc > > > > index 926986cf7f..8abe3713c8 100644 > > > > --- a/ArmPkg/ArmPkg.dsc > > > > +++ b/ArmPkg/ArmPkg.dsc > > > > @@ -161,4 +161,6 @@ > > > > [Components.AARCH64] > > > > ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf > > > > ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf > > > > + > > > > +[Components.AARCH64, Components.ARM] > > > > ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf > > > > diff --git > > > > a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMm > > > > Lib.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/ArmMmuStandaloneMm > > > > Lib.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.
> > > > + 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 =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 > > > > > > > > -[Sources.AARCH64] > > > > - AArch64/ArmMmuStandaloneMmLib.c > > > > +[Sources] > > > > + ArmMmuStandaloneMmLib.c > > > > > > > > [Packages] > > > > ArmPkg/ArmPkg.dec > > > > MdePkg/MdePkg.dec > > > > > > > > -[FeaturePcd.AARCH64] > > > > +[FeaturePcd.ARM, FeaturePcd.AARCH64] > > > > gArmTokenSpaceGuid.PcdFfaEnable > > > > > > > > [LibraryClasses] > > > > -- > > > > 2.17.1 > > > > > > > > > > > > > > > > > >=20 > > > > > >