Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: eric Dong <[email protected]>
Cc: Feng Tian <Feng, [email protected]>
---
 IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c 
b/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c
index 63aa1a2..2ca5183 100644
--- a/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c
+++ b/IntelFrameworkModulePkg/Csm/BiosThunk/BlockIoDxe/BiosInt13.c
@@ -868,11 +868,11 @@ Edd11BiosReadBlocks (
     // TransferBuffer has been 4KB alignment. Normalize TransferBuffer to make 
offset as 0 in seg:offset
     // format to transfer maximum 127 blocks of data.
     // 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;
     Regs.H.DL           = BiosBlockIoDev->Bios.Number;
     Regs.X.SI           = EFI_OFFSET (AddressPacket);
@@ -1021,11 +1021,11 @@ Edd11BiosWriteBlocks (
     // TransferBuffer has been 4KB alignment. Normalize TransferBuffer to make 
offset as 0 in seg:offset
     // format to transfer maximum 127 blocks of data.
     // 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;
     Regs.H.AL           = 0x00;
     //
-- 
1.9.5.msysgit.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to