/** @file\r
Main file for Dmem shell Debug1 function.\r
\r
- Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2015 Hewlett-Packard Development Company, L.P.<BR> \r
+ (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR> \r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
@return A printable character representing Char.\r
**/\r
CHAR16\r
-EFIAPI\r
MakePrintable(\r
IN CONST CHAR16 Char\r
)\r
@param[in] Size The length of memory to display.\r
**/\r
SHELL_STATUS\r
-EFIAPI\r
DisplayMmioMemory(\r
IN CONST VOID *Address,\r
IN CONST UINTN Size\r
\r
Status = gBS->LocateProtocol(&gEfiPciRootBridgeIoProtocolGuid, NULL, (VOID**)&PciRbIo);\r
if (EFI_ERROR(Status)) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PCIRBIO_NF), gShellDebug1HiiHandle);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PCIRBIO_NF), gShellDebug1HiiHandle, L"dmem"); \r
return (SHELL_NOT_FOUND);\r
}\r
Buffer = AllocateZeroPool(Size);\r
- ASSERT(Buffer != NULL);\r
+ if (Buffer == NULL) {\r
+ return SHELL_OUT_OF_RESOURCES;\r
+ }\r
\r
- Status = PciRbIo->Mem.Read(PciRbIo, EfiPciWidthUint8, (UINT64)Address, Size, Buffer);\r
+ Status = PciRbIo->Mem.Read(PciRbIo, EfiPciWidthUint8, (UINT64)(UINTN)Address, Size, Buffer);\r
if (EFI_ERROR(Status)) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PCIRBIO_ER), gShellDebug1HiiHandle, Status);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PCIRBIO_ER), gShellDebug1HiiHandle, L"dmem"); \r
ShellStatus = SHELL_NOT_FOUND;\r
} else {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_MMIO_HEADER_ROW), gShellDebug1HiiHandle, (UINT64)Address, Size);\r
- DumpHex(2,0,Size,Buffer);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_MMIO_HEADER_ROW), gShellDebug1HiiHandle, (UINT64)(UINTN)Address, Size);\r
+ DumpHex(2, (UINTN)Address, Size, Buffer);\r
}\r
\r
FreePool(Buffer);\r
Status = ShellCommandLineParse (ParamList, &Package, &ProblemParam, TRUE);\r
if (EFI_ERROR(Status)) {\r
if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, ProblemParam);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, L"dmem", ProblemParam); \r
FreePool(ProblemParam);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
}\r
} else {\r
if (ShellCommandLineGetCount(Package) > 3) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellDebug1HiiHandle, L"dmem"); \r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
Temp1 = ShellCommandLineGetRawValue(Package, 1);\r
Size = 512;\r
} else {\r
if (!ShellIsHexOrDecimalNumber(Temp1, TRUE, FALSE) || EFI_ERROR(ShellConvertStringToUint64(Temp1, (UINT64*)&Address, TRUE, FALSE))) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, Temp1);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"dmem", Temp1); \r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} \r
Temp1 = ShellCommandLineGetRawValue(Package, 2);\r
Size = 512;\r
} else {\r
if (!ShellIsHexOrDecimalNumber(Temp1, FALSE, FALSE) || EFI_ERROR(ShellConvertStringToUint64(Temp1, &Size, TRUE, FALSE))) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellDebug1HiiHandle, Temp1);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellDebug1HiiHandle, L"dmem", Temp1); \r
ShellStatus = SHELL_INVALID_PARAMETER;\r
}\r
}\r
\r
if (ShellStatus == SHELL_SUCCESS) {\r
if (!ShellCommandLineGetFlag(Package, L"-mmio")) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_HEADER_ROW), gShellDebug1HiiHandle, (UINT64)Address, Size);\r
- DumpHex(2,0,(UINTN)Size,Address);\r
+ ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_HEADER_ROW), gShellDebug1HiiHandle, (UINT64)(UINTN)Address, Size);\r
+ DumpHex(2, (UINTN)Address, (UINTN)Size, Address);\r
if (Address == (VOID*)gST) {\r
Acpi20TableAddress = 0;\r
AcpiTableAddress = 0;\r
MpsTableAddress = 0;\r
for (TableWalker = 0 ; TableWalker < gST->NumberOfTableEntries ; TableWalker++) {\r
if (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiAcpi20TableGuid)) {\r
- Acpi20TableAddress = (UINT64)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ Acpi20TableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;\r
continue;\r
}\r
if (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiAcpi10TableGuid)) {\r
- AcpiTableAddress = (UINT64)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ AcpiTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;\r
continue;\r
}\r
if (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiSalSystemTableGuid)) {\r
- SalTableAddress = (UINT64)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ SalTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;\r
continue;\r
}\r
if (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiSmbiosTableGuid)) {\r
- SmbiosTableAddress = (UINT64)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ SmbiosTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ continue;\r
+ }\r
+ if (CompareGuid (&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiSmbios3TableGuid)) {\r
+ SmbiosTableAddress = (UINT64) (UINTN) gST->ConfigurationTable[TableWalker].VendorTable;\r
continue;\r
}\r
if (CompareGuid(&gST->ConfigurationTable[TableWalker].VendorGuid, &gEfiMpsTableGuid)) {\r
- MpsTableAddress = (UINT64)gST->ConfigurationTable[TableWalker].VendorTable;\r
+ MpsTableAddress = (UINT64)(UINTN)gST->ConfigurationTable[TableWalker].VendorTable;\r
continue;\r
}\r
}\r
\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_DMEM_SYSTEM_TABLE), gShellDebug1HiiHandle, \r
- (UINT64)Address,\r
+ (UINT64)(UINTN)Address,\r
gST->Hdr.HeaderSize,\r
gST->Hdr.Revision,\r
- (UINT64)gST->ConIn,\r
- (UINT64)gST->ConOut,\r
- (UINT64)gST->StdErr,\r
- (UINT64)gST->RuntimeServices,\r
- (UINT64)gST->BootServices,\r
+ (UINT64)(UINTN)gST->ConIn,\r
+ (UINT64)(UINTN)gST->ConOut,\r
+ (UINT64)(UINTN)gST->StdErr,\r
+ (UINT64)(UINTN)gST->RuntimeServices,\r
+ (UINT64)(UINTN)gST->BootServices,\r
SalTableAddress,\r
AcpiTableAddress,\r
Acpi20TableAddress,\r