+/**\r
+ Converts a Ram Disk device path structure to its string representative.\r
+\r
+ @param Str The string representative of input device.\r
+ @param DevPath The input device path structure.\r
+ @param DisplayOnly If DisplayOnly is TRUE, then the shorter text representation\r
+ of the display node is used, where applicable. If DisplayOnly\r
+ is FALSE, then the longer text representation of the display node\r
+ is used.\r
+ @param AllowShortcuts If AllowShortcuts is TRUE, then the shortcut forms of text\r
+ representation for a device node can be used, where applicable.\r
+\r
+**/\r
+VOID\r
+DevPathToTextRamDisk (\r
+ IN OUT POOL_PRINT *Str,\r
+ IN VOID *DevPath,\r
+ IN BOOLEAN DisplayOnly,\r
+ IN BOOLEAN AllowShortcuts\r
+ )\r
+{\r
+ MEDIA_RAM_DISK_DEVICE_PATH *RamDisk;\r
+\r
+ RamDisk = DevPath;\r
+\r
+ if (CompareGuid (&RamDisk->TypeGuid, &gEfiVirtualDiskGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"VirtualDisk(0x%lx,0x%lx,%d)",\r
+ RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiVirtualCdGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"VirtualCD(0x%lx,0x%lx,%d)",\r
+ RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualDiskGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"PersistentVirtualDisk(0x%lx,0x%lx,%d)",\r
+ RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else if (CompareGuid (&RamDisk->TypeGuid, &gEfiPersistentVirtualCdGuid)) {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"PersistentVirtualCD(0x%lx,0x%lx,%d)",\r
+ RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance\r
+ );\r
+ } else {\r
+ UefiDevicePathLibCatPrint (\r
+ Str,\r
+ L"RamDisk(0x%lx,0x%lx,%d,%g)",\r
+ RShiftU64 ((UINT64)RamDisk->StartingAddr[1], 32) | RamDisk->StartingAddr[0],\r
+ RShiftU64 ((UINT64)RamDisk->EndingAddr[1], 32) | RamDisk->EndingAddr[0],\r
+ RamDisk->Instance,\r
+ &RamDisk->TypeGuid\r
+ );\r
+ }\r
+}\r
+\r