On 11/13/14 18:27, Anthony PERARD wrote:
> From: Scott Duplichan <sc...@notabs.org>
> 
> This patch contain type casts and replace one * operation by a
> MultU64x32() call.
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Scott Duplichan <sc...@notabs.org>
> Signed-off-by: Anthony PERARD <anthony.per...@citrix.com>
> ---
>  OvmfPkg/XenPvBlkDxe/BlockFront.c | 16 ++++++++--------
>  OvmfPkg/XenPvBlkDxe/BlockIo.c    |  2 +-
>  2 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/OvmfPkg/XenPvBlkDxe/BlockFront.c 
> b/OvmfPkg/XenPvBlkDxe/BlockFront.c
> index c43e7af..afaa959 100644
> --- a/OvmfPkg/XenPvBlkDxe/BlockFront.c
> +++ b/OvmfPkg/XenPvBlkDxe/BlockFront.c
> @@ -192,7 +192,7 @@ XenPvBlockFrontInitialization (
>              Status));
>      goto Error;
>    }
> -  Dev->DomainId = Value;
> +  Dev->DomainId = (domid_t)Value;
>    XenBusIo->EventChannelAllocate (XenBusIo, Dev->DomainId, 
> &Dev->EventChannel);
>  
>    SharedRing = (blkif_sring_t*) AllocatePages (1);
> @@ -258,7 +258,7 @@ Again:
>    if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
>      goto Error2;
>    }
> -  Dev->MediaInfo.VDiskInfo = Value;
> +  Dev->MediaInfo.VDiskInfo = (UINT32)Value;
>    if (Dev->MediaInfo.VDiskInfo & VDISK_READONLY) {
>      Dev->MediaInfo.ReadWrite = FALSE;
>    } else {
> @@ -274,7 +274,7 @@ Again:
>    if (Status != XENSTORE_STATUS_SUCCESS || Value > MAX_UINT32) {
>      goto Error2;
>    }
> -  if (Value % 512 != 0) {
> +  if ((UINT32)Value % 512 != 0) {
>      //
>      // This is not supported by the driver.
>      //
> @@ -282,7 +282,7 @@ Again:
>              "it must be a multiple of 512\n", Value));
>      goto Error2;
>    }
> -  Dev->MediaInfo.SectorSize = Value;
> +  Dev->MediaInfo.SectorSize = (UINT32)Value;
>  
>    // Default value
>    Value = 0;
> @@ -439,7 +439,7 @@ XenPvBlockAsyncIo (
>  
>    Start = (UINTN) IoData->Buffer & ~EFI_PAGE_MASK;
>    End = ((UINTN) IoData->Buffer + IoData->Size + EFI_PAGE_SIZE - 1) & 
> ~EFI_PAGE_MASK;
> -  IoData->NumRef = NumSegments = (End - Start) / EFI_PAGE_SIZE;
> +  IoData->NumRef = NumSegments = (INT32)((End - Start) / EFI_PAGE_SIZE);
>  
>    ASSERT (NumSegments <= BLKIF_MAX_SEGMENTS_PER_REQUEST);
>  
> @@ -448,7 +448,7 @@ XenPvBlockAsyncIo (
>    Request = RING_GET_REQUEST (&Dev->Ring, RingIndex);
>  
>    Request->operation = IsWrite ? BLKIF_OP_WRITE : BLKIF_OP_READ;
> -  Request->nr_segments = NumSegments;
> +  Request->nr_segments = (UINT8)NumSegments;
>    Request->handle = Dev->DeviceId;
>    Request->id = (UINTN) IoData;
>    Request->sector_number = IoData->Sector;
> @@ -457,9 +457,9 @@ XenPvBlockAsyncIo (
>      Request->seg[Index].first_sect = 0;
>      Request->seg[Index].last_sect = EFI_PAGE_SIZE / 512 - 1;
>    }
> -  Request->seg[0].first_sect = ((UINTN) IoData->Buffer & EFI_PAGE_MASK) / 
> 512;
> +  Request->seg[0].first_sect = (UINT8)(((UINTN) IoData->Buffer & 
> EFI_PAGE_MASK) / 512);
>    Request->seg[NumSegments - 1].last_sect =
> -      (((UINTN) IoData->Buffer + IoData->Size - 1) & EFI_PAGE_MASK) / 512;
> +      (UINT8)((((UINTN) IoData->Buffer + IoData->Size - 1) & EFI_PAGE_MASK) 
> / 512);
>    for (Index = 0; Index < NumSegments; Index++) {
>      UINTN Data = Start + Index * EFI_PAGE_SIZE;
>      XenBusIo->GrantAccess (XenBusIo, Dev->DomainId,
> diff --git a/OvmfPkg/XenPvBlkDxe/BlockIo.c b/OvmfPkg/XenPvBlkDxe/BlockIo.c
> index 4f3bc53..7fc7a05 100644
> --- a/OvmfPkg/XenPvBlkDxe/BlockIo.c
> +++ b/OvmfPkg/XenPvBlkDxe/BlockIo.c
> @@ -136,7 +136,7 @@ XenPvBlkDxeBlockIoReadWriteBlocks (
>    }
>  
>    IoData.Dev = XEN_BLOCK_FRONT_FROM_BLOCK_IO (This);
> -  Sector = Lba * (Media->BlockSize / 512);
> +  Sector = (UINTN)MultU64x32 (Lba, Media->BlockSize / 512);
>  
>    while (BufferSize > 0) {
>      if (((UINTN)Buffer & EFI_PAGE_MASK) == 0) {
> 

Reviewed-by: Laszlo Ersek <ler...@redhat.com>

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to