Message ID | 1541141594-31500-1-git-send-email-sumit.garg@linaro.org |
---|---|
State | Accepted |
Commit | e40f8efb8b06e023689120452e7ed5db199363de |
Headers | show |
Series | [edk2,v1,1/1] ArmPkg/OpteeLib: Fix compilation issues for ARM (32-bit) | expand |
On 2 November 2018 at 07:53, Sumit Garg <sumit.garg@linaro.org> wrote: > Correct usage of EFI_PHYSICAL_ADDRESS (always 64-bit) vs. pointers > (depending on architecture). > > Reported-by: Leif Lindholm <leif.lindholm@linaro.org> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Sumit Garg <sumit.garg@linaro.org> Thanks for the fix Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Pushed as e40f8efb8b06e023689120452e7ed5db199363de > --- > ArmPkg/Library/OpteeLib/Optee.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/ArmPkg/Library/OpteeLib/Optee.c b/ArmPkg/Library/OpteeLib/Optee.c > index 8ac31cb28266..55dcc7853b59 100644 > --- a/ArmPkg/Library/OpteeLib/Optee.c > +++ b/ArmPkg/Library/OpteeLib/Optee.c > @@ -134,7 +134,7 @@ OpteeInit ( > STATIC > UINT32 > OpteeCallWithArg ( > - IN EFI_PHYSICAL_ADDRESS PhysicalArg > + IN UINT64 PhysicalArg > ) > { > ARM_SMC_ARGS ArmSmcArgs; > @@ -213,7 +213,7 @@ OpteeOpenSession ( > > MessageArg->NumParams = 2; > > - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { > + if (OpteeCallWithArg ((UINTN)MessageArg)) { > MessageArg->Return = OPTEE_ERROR_COMMUNICATION; > MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; > } > @@ -246,7 +246,7 @@ OpteeCloseSession ( > MessageArg->Command = OPTEE_MESSAGE_COMMAND_CLOSE_SESSION; > MessageArg->Session = Session; > > - OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg); > + OpteeCallWithArg ((UINTN)MessageArg); > > return EFI_SUCCESS; > } > @@ -304,7 +304,7 @@ OpteeToMessageParam ( > > CopyMem ( > (VOID *)ParamSharedMemoryAddress, > - (VOID *)InParam->Union.Memory.BufferAddress, > + (VOID *)(UINTN)InParam->Union.Memory.BufferAddress, > InParam->Union.Memory.Size > ); > MessageParam->Union.Memory.BufferAddress = (UINT64)ParamSharedMemoryAddress; > @@ -368,8 +368,8 @@ OpteeFromMessageParam ( > } > > CopyMem ( > - (VOID *)OutParam->Union.Memory.BufferAddress, > - (VOID *)MessageParam->Union.Memory.BufferAddress, > + (VOID *)(UINTN)OutParam->Union.Memory.BufferAddress, > + (VOID *)(UINTN)MessageParam->Union.Memory.BufferAddress, > MessageParam->Union.Memory.Size > ); > OutParam->Union.Memory.Size = MessageParam->Union.Memory.Size; > @@ -417,7 +417,7 @@ OpteeInvokeFunction ( > > MessageArg->NumParams = OPTEE_MAX_CALL_PARAMS; > > - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { > + if (OpteeCallWithArg ((UINTN)MessageArg)) { > MessageArg->Return = OPTEE_ERROR_COMMUNICATION; > MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; > } > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/ArmPkg/Library/OpteeLib/Optee.c b/ArmPkg/Library/OpteeLib/Optee.c index 8ac31cb28266..55dcc7853b59 100644 --- a/ArmPkg/Library/OpteeLib/Optee.c +++ b/ArmPkg/Library/OpteeLib/Optee.c @@ -134,7 +134,7 @@ OpteeInit ( STATIC UINT32 OpteeCallWithArg ( - IN EFI_PHYSICAL_ADDRESS PhysicalArg + IN UINT64 PhysicalArg ) { ARM_SMC_ARGS ArmSmcArgs; @@ -213,7 +213,7 @@ OpteeOpenSession ( MessageArg->NumParams = 2; - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { + if (OpteeCallWithArg ((UINTN)MessageArg)) { MessageArg->Return = OPTEE_ERROR_COMMUNICATION; MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; } @@ -246,7 +246,7 @@ OpteeCloseSession ( MessageArg->Command = OPTEE_MESSAGE_COMMAND_CLOSE_SESSION; MessageArg->Session = Session; - OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg); + OpteeCallWithArg ((UINTN)MessageArg); return EFI_SUCCESS; } @@ -304,7 +304,7 @@ OpteeToMessageParam ( CopyMem ( (VOID *)ParamSharedMemoryAddress, - (VOID *)InParam->Union.Memory.BufferAddress, + (VOID *)(UINTN)InParam->Union.Memory.BufferAddress, InParam->Union.Memory.Size ); MessageParam->Union.Memory.BufferAddress = (UINT64)ParamSharedMemoryAddress; @@ -368,8 +368,8 @@ OpteeFromMessageParam ( } CopyMem ( - (VOID *)OutParam->Union.Memory.BufferAddress, - (VOID *)MessageParam->Union.Memory.BufferAddress, + (VOID *)(UINTN)OutParam->Union.Memory.BufferAddress, + (VOID *)(UINTN)MessageParam->Union.Memory.BufferAddress, MessageParam->Union.Memory.Size ); OutParam->Union.Memory.Size = MessageParam->Union.Memory.Size; @@ -417,7 +417,7 @@ OpteeInvokeFunction ( MessageArg->NumParams = OPTEE_MAX_CALL_PARAMS; - if (OpteeCallWithArg ((EFI_PHYSICAL_ADDRESS)MessageArg)) { + if (OpteeCallWithArg ((UINTN)MessageArg)) { MessageArg->Return = OPTEE_ERROR_COMMUNICATION; MessageArg->ReturnOrigin = OPTEE_ORIGIN_COMMUNICATION; }
Correct usage of EFI_PHYSICAL_ADDRESS (always 64-bit) vs. pointers (depending on architecture). Reported-by: Leif Lindholm <leif.lindholm@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sumit Garg <sumit.garg@linaro.org> --- ArmPkg/Library/OpteeLib/Optee.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel