IntelFrameworkModulePkg/BiosThunk: Fix 32 bits arch build failure when disable optimization.

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
This commit is contained in:
eric Dong
2015-08-26 08:31:27 +00:00
committed by ydong10
parent 23cc8adbaf
commit 1f70d74786

View File

@ -1,7 +1,7 @@
/** @file /** @file
Routines that use BIOS to support INT 13 devices. 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 This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -870,7 +870,7 @@ Edd11BiosReadBlocks (
// Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer, // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,
// INT13 function 42H will return data boundary error 09H. // 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; AddressPacket->Lba = (UINT64) Lba;
Regs.H.AH = 0x42; Regs.H.AH = 0x42;
@ -1023,7 +1023,7 @@ Edd11BiosWriteBlocks (
// Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer, // Otherwise when offset adding data size exceeds 0xFFFF, if OpROM does not normalize TransferBuffer,
// INT13 function 42H will return data boundary error 09H. // 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; AddressPacket->Lba = (UINT64) Lba;
Regs.H.AH = 0x43; Regs.H.AH = 0x43;