]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.c
OVMF BlockMmioToBlockIoDxe: Fix build error for VS2005
[mirror_edk2.git] / OvmfPkg / BlockMmioToBlockIoDxe / BlockIo.c
index bdd1402cc19bbde7d015f34ad784ff0c3031f85f..cf68ceaae9ec875fd93d691d57354a02c6890afe 100644 (file)
@@ -109,11 +109,11 @@ ReadOrWriteBlocks (
   //\r
   // BufferSize must be a multiple of the intrinsic block size of the device.\r
   //\r
-  if ((BufferSize % Media->BlockSize) != 0) {\r
+  if (ModU64x32 (BufferSize, Media->BlockSize) != 0) {\r
     return EFI_BAD_BUFFER_SIZE;\r
   }\r
 \r
-  TotalBlock = BufferSize / Media->BlockSize;\r
+  TotalBlock = (UINTN) DivU64x32 (BufferSize, Media->BlockSize);\r
 \r
   //\r
   // Make sure the range to read is valid.\r
@@ -131,9 +131,9 @@ ReadOrWriteBlocks (
   }\r
 \r
   Address = Private->BlockMmio->BaseAddress;\r
-  Address += Media->BlockSize * Lba;\r
+  Address += MultU64x32 (Lba, Media->BlockSize);\r
 \r
-  Count = BufferSize / 8;\r
+  Count = BufferSize >> 3;\r
 \r
   if (ReadData) {\r
     CpuAccessFunction = Private->CpuIo->Mem.Read;\r