[edk2-devel] [Patch] StandaloneMmPkg: Fixed communicating from TF-A failed issue

Ming Huang huangming at linux.alibaba.com
Thu Jun 10 01:14:22 UTC 2021



On 6/9/21 3:10 PM, Ard Biesheuvel wrote:
> On Tue, 8 Jun 2021 at 16:21, Ming Huang <huangming at linux.alibaba.com> wrote:
>>
>> TF-A: TrustedFirmware-a
>> SPM: Secure Partition Manager(MM)
>>
>> For AArch64, when SPM enable in TF-A, TF-A may communicate to MM
>> with buffer address (PLAT_SPM_BUF_BASE). The address is different
>> from PcdMmBufferBase which use in edk2.
> 
> Then why do we have PcdMmBufferBase?

ArmPkg use this Pcd for the base address of non-secure communication buffer.

> 
> Is it possible to set PcdMmBufferBase to the correct value?

The secure communication may interrupt the non-secure communication. if we
use the same address (PcdMmBufferBase and PLAT_SPM_BUF_BASE), the date in
communication buffer may be corrupted.

Best Regards,
Ming

> 
>> Checking address will let TF-A communicate failed to MM. So remove
>> below checking code:
>> if (NsCommBufferAddr < mNsCommBuffer.PhysicalStart) {
>>   return EFI_ACCESS_DENIED;
>> }
>>
>> Signed-off-by: Ming Huang <huangming at linux.alibaba.com>
>> ---
>>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c | 4 ----
>>  1 file changed, 4 deletions(-)
>>
>> diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
>> index 63fbe26642..fe98d3181d 100644
>> --- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
>> +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
>> @@ -103,10 +103,6 @@ PiMmStandaloneArmTfCpuDriverEntry (
>>      return EFI_INVALID_PARAMETER;
>>    }
>>
>> -  if (NsCommBufferAddr < mNsCommBuffer.PhysicalStart) {
>> -    return EFI_ACCESS_DENIED;
>> -  }
>> -
>>    if ((NsCommBufferAddr + sizeof (EFI_MM_COMMUNICATE_HEADER)) >=
>>        (mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize)) {
>>      return EFI_INVALID_PARAMETER;
>> --
>> 2.17.1
>>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#76291): https://edk2.groups.io/g/devel/message/76291
Mute This Topic: https://groups.io/mt/83396678/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list