From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.92.40.51]) by mx.groups.io with SMTP id smtpd.web11.1905.1689182615254928858 for ; Wed, 12 Jul 2023 10:23:35 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@outlook.com header.s=selector1 header.b=QlAnFfEs; spf=pass (domain: outlook.com, ip: 40.92.40.51, mailfrom: chris.fernald@outlook.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fb5kOregLOAy6Q+HASSusb/4f+8nFQNqgcyv9N4fKzaicMK6Rf+EhILzRWGzLgxus+3+fTM7ZKGIKGSpxJye9XyoVnxKGKRyKdaUO9zpXPS8g9TTyefe5z2QHMD8gwFOWLoMVfrJItSlPwex8O6Dna5arRJjog84apFJ8zbgXF8m75vbmxAJ48J7XiyNS22SBBONuwFk8XjGB2vbppUZNjBsWUC29/3yzB20MSA3oCeC+9BNq1cIKV5A8vQv9zYRNaPBxCcGZ2+z5EtZh+e5FGlCOqgooJemb9c3uh3aMKX42Kh7WwSq+JKI5LhfX6CPORUJrryhYURFHtlCvO5Ghw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=BRDXtpNnqRB0FqveLm5h33RFigugzdHxpQMpOfdAgN0=; b=TSPnhtIUtKFhtplKV9i11zy5scBd5T7v/lh15VYeSkLA81nkX1J+xMHiVaAsLdA7fzq3H8nfu46KVpwWoKdwJcj/RjJgY1ElaxgdEdkXSdvOidsDL2wfiTAjFoXu3erJI1bbCtdvfvl0evdrhurVo/pPU0qehcSBzmfXf5QhisciiMlBAAxuPal4pdgXRTalzYZiI4mPmGxuo1iUsGfBS+xDWhLyC5vvKdsQUTzvIpnetCHGAy4IPMhYHxqyfUCYAMVOqeY8Ovo/K8C2SFJ0cd+AEKW42noDcSXFP3Kp2rZeXP09IeJugEQljb2EP+ZMq7hkeFxu8c7Mi6hbl+HBtg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BRDXtpNnqRB0FqveLm5h33RFigugzdHxpQMpOfdAgN0=; b=QlAnFfEsGMCeihcCjabVsElknuYqbBegvKTCSbJmQM0lSXp6ovN0d5A7rcVVK07KxzzpIaZWgFRXEQZ+jmPtf8hPEzFa2bMEGA1meTIsFbiv5hA9DazYqV8o2hKhihw2A0cp+p12D/ZS9jnOIjHcxwH2gdSGHRBn4+oapU+kSVxcPuyQ1wM4YFXz6d9DN5MwiQag+Qw/Rte7Arn/IM3WoaKPFvHeI2a+HvQ4lAhchiIa8ab2RPP3g3Ap1BbQIaaOadHfHyGZa3SR4mPGhKmk0pPVdAH9EjUCGt1s3nUzSi7KI3UGG/3SXHc5lPuEtF0wcv81AF3nH4W2K/pbT+kHYA== Received: from IA1PR19MB6275.namprd19.prod.outlook.com (2603:10b6:208:3e9::19) by PH7PR19MB5870.namprd19.prod.outlook.com (2603:10b6:510:1d6::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Wed, 12 Jul 2023 17:23:32 +0000 Received: from IA1PR19MB6275.namprd19.prod.outlook.com ([fe80::f8b:7745:ff38:8b5c]) by IA1PR19MB6275.namprd19.prod.outlook.com ([fe80::f8b:7745:ff38:8b5c%6]) with mapi id 15.20.6565.028; Wed, 12 Jul 2023 17:23:32 +0000 Message-ID: Date: Wed, 12 Jul 2023 10:23:28 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [edk2-devel] [edk2-platforms][PATCH V1 01/20] ArmPkg: Change PcdFfaEnable flag datatype To: devel@edk2.groups.io, osde@linux.microsoft.com, nishant.sharma@arm.com CC: Ard Biesheuvel , Sami Mujawar , Thomas Abraham , Sayanta Pattanayak , Achin Gupta References: <20230711143658.781597-1-nishant.sharma@arm.com> <20230711143658.781597-2-nishant.sharma@arm.com> From: "Chris Fernald" In-Reply-To: X-TMN: [j+YfjjqWrEHf1dCCsRTKA+v8jbZRNAN2] X-ClientProxiedBy: BYAPR08CA0027.namprd08.prod.outlook.com (2603:10b6:a03:100::40) To IA1PR19MB6275.namprd19.prod.outlook.com (2603:10b6:208:3e9::19) Return-Path: chris.fernald@outlook.com X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: IA1PR19MB6275:EE_|PH7PR19MB5870:EE_ X-MS-Office365-Filtering-Correlation-Id: c84f154c-5015-4852-2bf6-08db82fcb72c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OI+7sMmPTTZnUw7Lhv0tScSojRHwHqRgQa3HQjpduq6UiAEYTnmJPLQivfVHwcQ1AdwMfH+lN4qPBymGg3QALxDNEg/H+28JoHi/zF0d6lzpjJ+y6q1cgu3aG4EKFcV2vN82sSGyDT27Urz5Tkq/umrfWgFBno5SjPowMOeyIqMV5Ga9tXDyG1aPEaoQOVDOJIKCzCNc/nUzzVmg2I/FuJ5zBO5ivrjMTISrLBwI4yi1VW/ezAqQF2aO+rq5hxrgOiSPEjMmz3L6IOIM9uR6yW3fnQfQ1uPq9cQSbHEECxORydbnpuThOUFgDrjRhtK2wnlfxQz3RAo9Z++ehfe5bXElOKMUNwko/efHNjfdYgcpaRhYb7qwKyv2KHw9KVCkbbO/+JmFLaAubu4Hj9FNBOLs5GiMp9//rDamF0gHlEwyZss9X4RFq9UlW+M451yOcvnhtwDIkQBeIzwP6K0EUZxUvfcF1NdRZ6L/hSig23oW6SWd1NFfnlR/1b3OiIxWwi3vkI8ogj4nU9DajbrBsg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?9+t8gsWh/THRADrBdtoy8fbacgg6tRSuEJpHUGcRmJb8QeQHdh9Ulu6rBwD9?= =?us-ascii?Q?L/KAxHb7YBxWX1D+0L9o+XRpTBAZwZqPReyWV7Jkq8sbB1oK1AIFmmH8Nf8N?= =?us-ascii?Q?U37f3K13Vz0LAkZ8TvTu7sruGQPM9OYA8pwsWlEnjecKL0seV6vauqK7iZPd?= =?us-ascii?Q?xeAtjmvTQZgtOVFVMOJbVjbNlGBYTQ57q/JKb73aT25NimQlcPLhdqnPuoXX?= =?us-ascii?Q?zhQ5hVqBlj/Ebzaf64kHHdi3hs8hFS8sY720woTWnVQ0MTuvwNewOwXR2ZRP?= =?us-ascii?Q?AFL12z0XgN2ZJYkiCBMEc/FCgfgw8rrGD7cLKOrOWzxvLXZPqbz+ziHgQACT?= =?us-ascii?Q?X8YnEBN9FA+c2T1rFknbRQlE6c5mrNJbycvztUitOR06kk9qHLC73HUj5go6?= =?us-ascii?Q?MMTdbmZ5t/k42/uDcxJbedkDxuEVh1b34PkRi7MsA5d3ggY5b4ouXiQDhwPM?= =?us-ascii?Q?t6Ss9+Q5SC0CGlJkdM0AvCf+StaYwRrVKdDeSWgKA7xNA/GdsAZzBsd/sL/0?= =?us-ascii?Q?Ly2b/YtMnk2rApF6q1XcAyNNh7MOLZwL/DfhYV3JdrUQWvzYuYIDuVwU+xJf?= =?us-ascii?Q?1hFrKL6aCNIZvyJsKn1aX4fzJV+tmW7fshXBLaHGxVkd8htmeOcsWiZHHBA9?= =?us-ascii?Q?OLWKGAY4SF8ngilTiEIl83iGdHPhvGHIq8buyEakv4NEOGZL6SqTKM+zDlqc?= =?us-ascii?Q?muhNW59GPJbdyTh6PfnRiLF5ERhRPU6vD8U/Q7eGGpvdkq61K0+KMXDBD+o8?= =?us-ascii?Q?BN2zC5OKs3OeTH8DhwHky3GZT7O1yPz50m013lo2jFFeUixXpM74R7dg4Rwl?= =?us-ascii?Q?NrOG7MG8HgYlv7QQ3IOanGouVpAORHIeIDex/JTPE9sbut1p+dATV3pqQPQo?= =?us-ascii?Q?HmHmQ042jwNtK6lIH+X5lg+aIOTpern/qf7p7q0KAwvjxepTQTDes8G9W1h+?= =?us-ascii?Q?2Y0bkGDyx929GLsP7WwJbkJf3+Ad8l8njTTAadm/L452Tg00p+V1OzjhsBXz?= =?us-ascii?Q?KXGuVR4MJXC6YaILKQJxpc6GKc2ETaTSqY4l90cpASsYqy2xPXaVW9n0EQMD?= =?us-ascii?Q?xfXlDm4T76MYa9drFzN+vMcDcsX0QaHbmvSrZuUP4ac4QGmRZBg/EQnjGQSv?= =?us-ascii?Q?WCK9mXzRDAZeYsW8UewIJfPMazKgujrt9sIAhiyvoEaS8k+5JjokNM6/SAO0?= =?us-ascii?Q?8NBktsiqwVvft5tbQOrps4nsU+UzzqbQowMQexwADm7g1glzbZEG/TJQxA4?= =?us-ascii?Q?=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c84f154c-5015-4852-2bf6-08db82fcb72c X-MS-Exchange-CrossTenant-AuthSource: IA1PR19MB6275.namprd19.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jul 2023 17:23:32.6863 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR19MB5870 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On top of Oliver's question, in the changes=20 to|||StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEnt= ryPoint.inf,=20 we should probably leave the .ARM and .AARCH64 specifiers since that is=20 not an ARM specific INF. | -Chris On 7/12/2023 10:21 AM, Oliver Smith-Denny wrote: > On 7/11/2023 7:36 AM, Nishant Sharma wrote: >> FeatureFlag type PCD flags are declared by typecasting an integer value >> to BOOLEAN. These flags cannot be use in assembly code as assembler does >> not recognise C primitive types. Change the flag data type from BOOLEAN >> to UINT32. >> >> Signed-off-by: Nishant Sharma >> --- >> ArmPkg/ArmPkg.dec | 14 +++++++------- >> ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf |=C2=A0 4 ++= -- >> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntry= Point.inf=20 >> |=C2=A0 4 ++-- >> ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c |=C2=A0 8 ++++= ---- >> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreE= ntryPoint.c=20 >> |=C2=A0 8 ++++---- >> =C2=A0 5 files changed, 19 insertions(+), 19 deletions(-) >> >> diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec >> index 1a16d044c94b..c36c23e2e059 100644 >> --- a/ArmPkg/ArmPkg.dec >> +++ b/ArmPkg/ArmPkg.dec >> @@ -155,13 +155,6 @@ >> =C2=A0=C2=A0=C2=A0 # hardware coherency (i.e., no virtualization or cach= e coherent DMA) >> gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride|FALSE|BOOLEAN|0x0= 0000043 >> =C2=A0 -[PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.ARM] >> -=C2=A0 ## Used to select method for requesting services from S-EL1.
=
>> -=C2=A0 #=C2=A0=C2=A0 TRUE=C2=A0 - Selects FF-A calls for communication = between S-EL0 and=20 >> SPMC.
>> -=C2=A0 #=C2=A0=C2=A0 FALSE - Selects SVC calls for communication betwee= n S-EL0 and=20 >> SPMC.
>> -=C2=A0 # @Prompt Enable FF-A support. >> -=C2=A0 gArmTokenSpaceGuid.PcdFfaEnable|FALSE|BOOLEAN|0x0000005B >> - >> =C2=A0 [PcdsFixedAtBuild.common] >> gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE|BOOLEAN|0x00000006 >> =C2=A0 @@ -298,6 +291,13 @@ >> =C2=A0=C2=A0=C2=A0 # not currently supported. >> gArmTokenSpaceGuid.PcdArmNonSecModeTransition|0x3c9|UINT32|0x0000003E >> =C2=A0 +=C2=A0 ## Used to select method for requesting services from=20 >> S-EL1.

>> +=C2=A0 #=C2=A0=C2=A0 1 - Selects FF-A calls for communication between S= -EL0 and=20 >> SPMC.
>> +=C2=A0 #=C2=A0=C2=A0 0 - Selects SVC calls for communication between S-= EL0 and=20 >> SPMC.
>> +=C2=A0 #=C2=A0=C2=A0 Using unsigned integer as boolean does not work on= assembler. >> +=C2=A0 # @Prompt Enable FF-A support. >> +=C2=A0 gArmTokenSpaceGuid.PcdFfaEnable|0|UINT32|0x0000005B >> + > > A small nit: any reason not to go to UINT8 from BOOLEAN? It would seem > the logical conversion, unless you envision it extending greatly in the > future. > > Thanks, > Oliver > >> =C2=A0 =C2=A0 # >> =C2=A0 # These PCDs are also defined as 'PcdsDynamic' or=20 >> 'PcdsPatchableInModule' to be >> diff --git=20 >> a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf=20 >> b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf >> index ff20e5898051..3c733585f573 100644 >> --- a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf >> +++ b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf >> @@ -1,6 +1,6 @@ >> =C2=A0 #/** @file >> =C2=A0 # >> -#=C2=A0 Copyright (c) 2017 - 2021, Arm Limited. All rights reserved. >> +#=C2=A0 Copyright (c) 2017 - 2023, Arm Limited. All rights reserved. >> =C2=A0 # >> =C2=A0 #=C2=A0 SPDX-License-Identifier: BSD-2-Clause-Patent >> =C2=A0 # >> @@ -23,7 +23,7 @@ >> =C2=A0=C2=A0=C2=A0 ArmPkg/ArmPkg.dec >> =C2=A0=C2=A0=C2=A0 MdePkg/MdePkg.dec >> =C2=A0 -[FeaturePcd.ARM, FeaturePcd.AARCH64] >> +[FixedPcd] >> =C2=A0=C2=A0=C2=A0 gArmTokenSpaceGuid.PcdFfaEnable >> =C2=A0 =C2=A0 [LibraryClasses] >> diff --git=20 >> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEnt= ryPoint.inf=20 >> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEnt= ryPoint.inf=20 >> >> index 75cfb98c0e75..dc6d3d859911 100644 >> ---=20 >> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEnt= ryPoint.inf >> +++=20 >> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEnt= ryPoint.inf >> @@ -1,7 +1,7 @@ >> =C2=A0 ## @file >> =C2=A0 # Module entry point library for DXE core. >> =C2=A0 # >> -# Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.
>> +# Copyright (c) 2017 - 2023, Arm Ltd. All rights reserved. >> =C2=A0 # >> =C2=A0 #=C2=A0 SPDX-License-Identifier: BSD-2-Clause-Patent >> =C2=A0 # >> @@ -51,7 +51,7 @@ >> =C2=A0=C2=A0=C2=A0 gEfiStandaloneMmNonSecureBufferGuid >> =C2=A0=C2=A0=C2=A0 gEfiArmTfCpuDriverEpDescriptorGuid >> =C2=A0 -[FeaturePcd.ARM, FeaturePcd.AARCH64] >> +[FixedPcd] >> =C2=A0=C2=A0=C2=A0 gArmTokenSpaceGuid.PcdFfaEnable >> =C2=A0 =C2=A0 # >> diff --git=20 >> a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c=20 >> b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c >> index d55aff76201e..1a41a289ef17 100644 >> --- a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c >> +++ b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c >> @@ -1,7 +1,7 @@ >> =C2=A0 /** @file >> =C2=A0=C2=A0=C2=A0 File managing the MMU for ARMv8 architecture in S-EL0 >> =C2=A0 -=C2=A0 Copyright (c) 2017 - 2021, Arm Limited. All rights reserv= ed.
>> +=C2=A0 Copyright (c) 2017 - 2023, Arm Limited. All rights reserved. >> =C2=A0=C2=A0=C2=A0 Copyright (c) 2021, Linaro Limited >> =C2=A0=C2=A0=C2=A0 SPDX-License-Identifier: BSD-2-Clause-Patent >> =C2=A0 @@ -54,7 +54,7 @@ SendMemoryPermissionRequest ( >> =C2=A0=C2=A0=C2=A0 } >> =C2=A0 =C2=A0=C2=A0=C2=A0 ArmCallSvc (SvcArgs); >> -=C2=A0 if (FeaturePcdGet (PcdFfaEnable)) { >> +=C2=A0 if (FixedPcdGet32 (PcdFfaEnable) !=3D 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // Get/Set memory attributes is an atomic= call, with >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // StandaloneMm at S-EL0 being the caller= and the SPM >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // core being the callee. Thus there won'= t be a >> @@ -163,7 +163,7 @@ GetMemoryPermissions ( >> =C2=A0=C2=A0=C2=A0 // Prepare the message parameters. >> =C2=A0=C2=A0=C2=A0 // See [1], Section 13.5.5.1 MM_SP_MEMORY_ATTRIBUTES_= GET_AARCH64. >> =C2=A0=C2=A0=C2=A0 ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS)); >> -=C2=A0 if (FeaturePcdGet (PcdFfaEnable)) { >> +=C2=A0 if (FixedPcdGet32 (PcdFfaEnable) !=3D 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // See [2], Section 10.2 FFA_MSG_SEND_DIR= ECT_REQ. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SvcArgs.Arg0 =3D ARM_SVC_ID_FFA_MSG_SEND_= DIRECT_REQ; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SvcArgs.Arg1 =3D ARM_FFA_DESTINATION_ENDP= OINT_ID; >> @@ -218,7 +218,7 @@ RequestMemoryPermissionChange ( >> =C2=A0=C2=A0=C2=A0 // Prepare the message parameters. >> =C2=A0=C2=A0=C2=A0 // See [1], Section 13.5.5.2 MM_SP_MEMORY_ATTRIBUTES_= SET_AARCH64. >> =C2=A0=C2=A0=C2=A0 ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS)); >> -=C2=A0 if (FeaturePcdGet (PcdFfaEnable)) { >> +=C2=A0 if (FixedPcdGet32 (PcdFfaEnable) !=3D 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 // See [2], Section 10.2 FFA_MSG_SEND_DIR= ECT_REQ. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SvcArgs.Arg0 =3D ARM_SVC_ID_FFA_MSG_SEND_= DIRECT_REQ; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SvcArgs.Arg1 =3D ARM_FFA_DESTINATION_ENDP= OINT_ID; >> diff --git=20 >> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCor= eEntryPoint.c=20 >> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCor= eEntryPoint.c=20 >> >> index 96de10405af8..5dd1d9747995 100644 >> ---=20 >> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCor= eEntryPoint.c >> +++=20 >> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCor= eEntryPoint.c >> @@ -2,7 +2,7 @@ >> =C2=A0=C2=A0=C2=A0 Entry point to the Standalone MM Foundation when init= ialized=20 >> during the SEC >> =C2=A0=C2=A0=C2=A0 phase on ARM platforms >> =C2=A0 -Copyright (c) 2017 - 2021, Arm Ltd. All rights reserved.
>> +Copyright (c) 2017 - 2023, Arm Ltd. All rights reserved. >> =C2=A0 SPDX-License-Identifier: BSD-2-Clause-Patent >> =C2=A0 =C2=A0 **/ >> @@ -140,7 +140,7 @@ DelegatedEventLoop ( >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 DEBUG ((DEBUG_INFO, "X6 :=C2=A0 0x%x\n",= =20 >> (UINT32)EventCompleteSvcArgs->Arg6)); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 DEBUG ((DEBUG_INFO, "X7 :=C2=A0 0x%x\n",= =20 >> (UINT32)EventCompleteSvcArgs->Arg7)); >> =C2=A0 -=C2=A0=C2=A0=C2=A0 FfaEnabled =3D FeaturePcdGet (PcdFfaEnable); >> +=C2=A0=C2=A0=C2=A0 FfaEnabled =3D FixedPcdGet32 (PcdFfaEnable !=3D 0); >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (FfaEnabled) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Status =3D CpuDriverEntryPoin= t ( >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 EventCompleteSvcArgs->Arg0, >> @@ -225,7 +225,7 @@ GetSpmVersion ( >> =C2=A0=C2=A0=C2=A0 UINT32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SpmV= ersion; >> =C2=A0=C2=A0=C2=A0 ARM_SVC_ARGS=C2=A0 SpmVersionArgs; >> =C2=A0 -=C2=A0 if (FeaturePcdGet (PcdFfaEnable)) { >> +=C2=A0 if (FixedPcdGet32 (PcdFfaEnable) !=3D 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SpmVersionArgs.Arg0=C2=A0 =3D ARM_SVC_ID_= FFA_VERSION_AARCH32; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SpmVersionArgs.Arg1=C2=A0 =3D mSpmMajorVe= rFfa << SPM_MAJOR_VER_SHIFT; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 SpmVersionArgs.Arg1 |=3D mSpmMinorVerFfa; >> @@ -293,7 +293,7 @@ InitArmSvcArgs ( >> =C2=A0=C2=A0=C2=A0 OUT INT32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0 *Ret >> =C2=A0=C2=A0=C2=A0 ) >> =C2=A0 { >> -=C2=A0 if (FeaturePcdGet (PcdFfaEnable)) { >> +=C2=A0 if (FixedPcdGet32 (PcdFfaEnable) !=3D 0) { >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 InitMmFoundationSvcArgs->Arg0 =3D=20 >> ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 InitMmFoundationSvcArgs->Arg1 =3D 0; >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 InitMmFoundationSvcArgs->Arg2 =3D 0; > > >=20 > >