Revision: 18319
          http://sourceforge.net/p/edk2/code/18319
Author:   ydong10
Date:     2015-08-26 08:31:27 +0000 (Wed, 26 Aug 2015)
Log Message:
-----------
IntelFrameworkModulePkg/BiosThunk: Fix 32 bits arch build failure when disable 
optimization.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: eric Dong <[email protected]>
Reviewed-by: Feng Tian <[email protected]>

Modified Paths:
--------------
    trunk/edk2/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c

Modified: 
trunk/edk2/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c
===================================================================
--- trunk/edk2/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c     
2015-08-26 06:33:31 UTC (rev 18318)
+++ trunk/edk2/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c     
2015-08-26 08:31:27 UTC (rev 18319)
@@ -1,7 +1,7 @@
 /** @file
   Routines that use BIOS to support INT 13 devices.
 
-Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR>
 
 This program and the accompanying materials
 are licensed and made available under the terms and conditions
@@ -870,7 +870,7 @@
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does 
not normalize TransferBuffer,
     // INT13 function 42H will return data boundary error 09H.
     //
-    AddressPacket->SegOffset = (UINT32) ((TransferBuffer >> 4) << 16);
+    AddressPacket->SegOffset = (UINT32) LShiftU64 (RShiftU64(TransferBuffer, 
4), 16);
     AddressPacket->Lba  = (UINT64) Lba;
 
     Regs.H.AH           = 0x42;
@@ -1023,7 +1023,7 @@
     // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does 
not normalize TransferBuffer,
     // INT13 function 42H will return data boundary error 09H.
     //
-    AddressPacket->SegOffset = (UINT32) ((TransferBuffer >> 4) << 16);
+    AddressPacket->SegOffset = (UINT32) LShiftU64 (RShiftU64(TransferBuffer, 
4), 16);
     AddressPacket->Lba  = (UINT64) Lba;
 
     Regs.H.AH           = 0x43;


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to