]> git.proxmox.com Git - mirror_edk2.git/commitdiff
IntelFrameworkModulePkg/BiosThunk: Fix 32 bits arch build failure when disable optimi...
authoreric Dong <eric.dong@intel.com>
Wed, 26 Aug 2015 08:31:27 +0000 (08:31 +0000)
committerydong10 <ydong10@Edk2>
Wed, 26 Aug 2015 08:31:27 +0000 (08:31 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: eric Dong <eric.dong@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18319 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c

index 63aa1a22c137418565b81bff746991d8b75c034c..698bb620e818ac47bb09cc2c89c2cc4720663a95 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Routines that use BIOS to support INT 13 devices.\r
 \r
 /** @file\r
   Routines that use BIOS to support INT 13 devices.\r
 \r
-Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>\r
 \r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions\r
 \r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions\r
@@ -870,7 +870,7 @@ Edd11BiosReadBlocks (
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,\r
     // INT13 function 42H will return data boundary error 09H.\r
     //\r
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,\r
     // INT13 function 42H will return data boundary error 09H.\r
     //\r
-    AddressPacket->SegOffset = (UINT32) ((TransferBuffer >> 4) << 16);\r
+    AddressPacket->SegOffset = (UINT32) LShiftU64 (RShiftU64(TransferBuffer, 4), 16);\r
     AddressPacket->Lba  = (UINT64) Lba;\r
 \r
     Regs.H.AH           = 0x42;\r
     AddressPacket->Lba  = (UINT64) Lba;\r
 \r
     Regs.H.AH           = 0x42;\r
@@ -1023,7 +1023,7 @@ Edd11BiosWriteBlocks (
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,\r
     // INT13 function 42H will return data boundary error 09H.\r
     //\r
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,\r
     // INT13 function 42H will return data boundary error 09H.\r
     //\r
-    AddressPacket->SegOffset = (UINT32) ((TransferBuffer >> 4) << 16);\r
+    AddressPacket->SegOffset = (UINT32) LShiftU64 (RShiftU64(TransferBuffer, 4), 16);\r
     AddressPacket->Lba  = (UINT64) Lba;\r
 \r
     Regs.H.AH           = 0x43;\r
     AddressPacket->Lba  = (UINT64) Lba;\r
 \r
     Regs.H.AH           = 0x43;\r