Revision: 18144
http://sourceforge.net/p/edk2/code/18144
Author: erictian
Date: 2015-08-04 01:09:49 +0000 (Tue, 04 Aug 2015)
Log Message:
-----------
MdePkg/UefiDevicePathLib: Fix RAM Disk Device Path To Text Issue
Perform Left Shift 32 bits of a 32-bit StartAddr[1] and EndingAddr[1]
instead of Right Shift when displaying 64-bit Start and End Address Value.
StartAddr[1] and EndingAddr[1] are already a 32-bit value and it should
perform left shift 32-bit to generate a complete 64-bit value along with
StartAddr[0] and EndingAddr[0] respectively.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <[email protected]>
Reviewed-by: Feng Tian <[email protected]>
Modified Paths:
--------------
trunk/edk2/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c
Modified: trunk/edk2/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c
===================================================================
--- trunk/edk2/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c
2015-08-03 09:44:04 UTC (rev 18143)
+++ trunk/edk2/MdePkg/Library/UefiDevicePathLib/DevicePathToText.c
2015-08-04 01:09:49 UTC (rev 18144)
@@ -1,6 +1,7 @@
/** @file
DevicePathToText protocol as defined in the UEFI 2.0 specification.
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR>
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD
License
@@ -1918,40 +1919,40 @@
UefiDevicePathLibCatPrint (
Str,
L"VirtualDisk(0x%lx,0x%lx,%d)",
- RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
- RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
RamDisk->Instance
);
} else if (CompareGuid (&RamDisk->TypeGuid, &gEfiVirtualCdGuid)) {
UefiDevicePathLibCatPrint (
Str,
L"VirtualCD(0x%lx,0x%lx,%d)",
- RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
- RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
RamDisk->Instance
);
} else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualDiskGuid))
{
UefiDevicePathLibCatPrint (
Str,
L"PersistentVirtualDisk(0x%lx,0x%lx,%d)",
- RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
- RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
RamDisk->Instance
);
} else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualCdGuid)) {
UefiDevicePathLibCatPrint (
Str,
L"PersistentVirtualCD(0x%lx,0x%lx,%d)",
- RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
- RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
RamDisk->Instance
);
} else {
UefiDevicePathLibCatPrint (
Str,
L"RamDisk(0x%lx,0x%lx,%d,%g)",
- RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
- RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) |
RamDisk->StartingAddr[0],
+ LShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],
RamDisk->Instance,
&RamDisk->TypeGuid
);
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits