@@ -305,7 +305,8 @@ OpTeeRpmbFvbRead (
305305 }
306306 }
307307
308- Base = (VOID * )Instance -> MemBaseAddress + (Lba * Instance -> BlockSize ) + Offset ;
308+ Base = (VOID * )(UINTN )Instance -> MemBaseAddress + (Lba * Instance -> BlockSize ) +
309+ Offset ;
309310 // We could read the data from the RPMB instead of memory
310311 // The 2 copies should already be identical
311312 // Copy from memory image
@@ -387,7 +388,8 @@ OpTeeRpmbFvbWrite (
387388 return Status ;
388389 }
389390 }
390- Base = (VOID * )Instance -> MemBaseAddress + Lba * Instance -> BlockSize + Offset ;
391+ Base = (VOID * )(UINTN )Instance -> MemBaseAddress + (Lba * Instance -> BlockSize ) +
392+ Offset ;
391393 Status = ReadWriteRpmb (
392394 SP_SVC_RPMB_WRITE ,
393395 (UINTN )Buffer ,
@@ -477,7 +479,8 @@ OpTeeRpmbFvbErase (
477479 return EFI_INVALID_PARAMETER ;
478480 }
479481 NumBytes = NumLba * Instance -> BlockSize ;
480- Base = (VOID * )Instance -> MemBaseAddress + Start * Instance -> BlockSize ;
482+ Base = (VOID * )(UINTN )Instance -> MemBaseAddress +
483+ (Start * Instance -> BlockSize );
481484 Buf = AllocatePool (NumLba * Instance -> BlockSize );
482485 if (Buf == NULL ) {
483486 return EFI_DEVICE_ERROR ;
@@ -689,7 +692,7 @@ InitializeFvAndVariableStoreHeaders (
689692 goto Exit ;
690693 }
691694 // Install the combined header in memory
692- CopyMem ((VOID * )Instance -> MemBaseAddress , Headers , HeadersLength );
695+ CopyMem ((VOID * )( UINTN ) Instance -> MemBaseAddress , Headers , HeadersLength );
693696
694697Exit :
695698 FreePool (Headers );
@@ -747,14 +750,18 @@ FvbInitialize (
747750 // Read the file from disk and copy it to memory
748751 ReadEntireFlash (Instance );
749752
750- FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER * )Instance -> MemBaseAddress ;
753+ FwVolHeader = (EFI_FIRMWARE_VOLUME_HEADER * )( UINTN ) Instance -> MemBaseAddress ;
751754 Status = ValidateFvHeader (FwVolHeader );
752755 if (EFI_ERROR (Status )) {
753756 // There is no valid header, so time to install one.
754757 DEBUG ((DEBUG_INFO , "%a: The FVB Header is not valid.\n" , __FUNCTION__ ));
755758
756759 // Reset memory
757- SetMem64 ((VOID * )Instance -> MemBaseAddress , Instance -> NBlocks * Instance -> BlockSize , ~0UL );
760+ SetMem64 (
761+ (VOID * )(UINTN )Instance -> MemBaseAddress ,
762+ Instance -> NBlocks * Instance -> BlockSize ,
763+ ~0UL
764+ );
758765 DEBUG ((DEBUG_INFO , "%a: Erasing Flash.\n" , __FUNCTION__ ));
759766 Status = ReadWriteRpmb (
760767 SP_SVC_RPMB_WRITE ,
@@ -827,7 +834,7 @@ OpTeeRpmbFvbInit (
827834 mInstance .FvbProtocol .Write = OpTeeRpmbFvbWrite ;
828835 mInstance .FvbProtocol .Read = OpTeeRpmbFvbRead ;
829836
830- mInstance .MemBaseAddress = (EFI_PHYSICAL_ADDRESS )Addr ;
837+ mInstance .MemBaseAddress = (EFI_PHYSICAL_ADDRESS )( UINTN ) Addr ;
831838 mInstance .Signature = FLASH_SIGNATURE ;
832839 mInstance .Initialize = FvbInitialize ;
833840 mInstance .BlockSize = EFI_PAGE_SIZE ;
0 commit comments