\r
UINT8 gShowType = SHOW_DETAIL;\r
STATIC STRUCTURE_STATISTICS *mStatisticsTable = NULL;\r
+STATIC STRUCTURE_STATISTICS *mSmbios64BitStatisticsTable = NULL;\r
\r
UINT8 SmbiosMajorVersion;\r
UINT8 SmbiosMinorVersion;\r
\r
+UINTN mNumberOfSmbios64BitStructures;\r
+UINTN mSmbios64BitTableLength;\r
+\r
STATIC CONST SHELL_PARAM_ITEM ParamList[] = {\r
{L"-t", TypeValue},\r
{L"-h", TypeValue},\r
UINT8 StructType;\r
UINT16 StructHandle;\r
EFI_STATUS Status;\r
+ EFI_STATUS Status1;\r
+ EFI_STATUS Status2;\r
BOOLEAN RandomView;\r
LIST_ENTRY *Package;\r
CHAR16 *ProblemParam;\r
SHELL_STATUS ShellStatus;\r
CONST CHAR16 *Temp;\r
\r
- mStatisticsTable = NULL;\r
- Package = NULL;\r
- ShellStatus = SHELL_SUCCESS;\r
+ mStatisticsTable = NULL;\r
+ mSmbios64BitStatisticsTable = NULL;\r
+ Package = NULL;\r
+ ShellStatus = SHELL_SUCCESS;\r
\r
Status = ShellCommandLineParse (ParamList, &Package, &ProblemParam, TRUE);\r
if (EFI_ERROR(Status)) {\r
\r
//\r
// Init Lib\r
- \r
- Status = LibSmbiosInit ();\r
- if (EFI_ERROR (Status)) {\r
- ShellStatus = SHELL_NOT_FOUND;\r
- goto Done;\r
- }\r
//\r
- // build statistics table\r
- //\r
- Status = InitSmbiosTableStatistics ();\r
- if (EFI_ERROR (Status)) {\r
+ Status1 = LibSmbiosInit ();\r
+ Status2 = LibSmbios64BitInit ();\r
+ if (EFI_ERROR (Status1) && EFI_ERROR (Status2)) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_LIBSMBIOSVIEW_CANNOT_GET_TABLE), gShellDebug1HiiHandle);\r
ShellStatus = SHELL_NOT_FOUND;\r
goto Done;\r
}\r
-\r
+ \r
StructType = STRUCTURE_TYPE_RANDOM;\r
RandomView = TRUE;\r
- //\r
- // Initialize the StructHandle to be the first handle\r
- //\r
- StructHandle = INVALID_HANDLE;\r
- LibGetSmbiosStructure (&StructHandle, NULL, NULL);\r
-\r
+ \r
Temp = ShellCommandLineGetValue(Package, L"-t");\r
if (Temp != NULL) {\r
StructType = (UINT8) ShellStrToUintn (Temp);\r
}\r
-\r
- Temp = ShellCommandLineGetValue(Package, L"-h");\r
- if (Temp != NULL) {\r
- RandomView = FALSE;\r
- StructHandle = (UINT16) ShellStrToUintn(Temp);\r
+ \r
+ if (ShellCommandLineGetFlag(Package, L"-a")) {\r
+ gShowType = SHOW_ALL;\r
}\r
-\r
- if (ShellCommandLineGetFlag(Package, L"-s")) {\r
- Status = DisplayStatisticsTable (SHOW_DETAIL);\r
+ \r
+ if (!EFI_ERROR (Status1)) {\r
+ //\r
+ // Initialize the StructHandle to be the first handle\r
+ //\r
+ StructHandle = INVALID_HANDLE;\r
+ LibGetSmbiosStructure (&StructHandle, NULL, NULL);\r
+ \r
+ Temp = ShellCommandLineGetValue(Package, L"-h");\r
+ if (Temp != NULL) {\r
+ RandomView = FALSE;\r
+ StructHandle = (UINT16) ShellStrToUintn(Temp);\r
+ }\r
+ //\r
+ // build statistics table\r
+ //\r
+ Status = InitSmbiosTableStatistics ();\r
+ if (EFI_ERROR (Status)) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ goto Done;\r
+ }\r
+ \r
+ if (ShellCommandLineGetFlag(Package, L"-s")) {\r
+ Status = DisplayStatisticsTable (SHOW_DETAIL);\r
+ if (EFI_ERROR(Status)) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ }\r
+ goto Show64Bit;\r
+ }\r
+ \r
+ //\r
+ // Show SMBIOS structure information\r
+ //\r
+ Status = SMBiosView (StructType, StructHandle, gShowType, RandomView);\r
if (EFI_ERROR(Status)) {\r
ShellStatus = SHELL_NOT_FOUND;\r
+ goto Done;\r
}\r
- goto Done;\r
}\r
\r
- if (ShellCommandLineGetFlag(Package, L"-a")) {\r
- gShowType = SHOW_ALL;\r
- }\r
- //\r
- // Show SMBIOS structure information\r
- //\r
- Status = SMBiosView (StructType, StructHandle, gShowType, RandomView);\r
- if (EFI_ERROR(Status)) {\r
- ShellStatus = SHELL_NOT_FOUND;\r
+Show64Bit:\r
+ if (!EFI_ERROR (Status2)) {\r
+ //\r
+ // build statistics table\r
+ //\r
+ Status = InitSmbios64BitTableStatistics ();\r
+ if (EFI_ERROR (Status)) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ goto Done;\r
+ }\r
+ //\r
+ // Initialize the StructHandle to be the first handle\r
+ //\r
+ StructHandle = INVALID_HANDLE;\r
+ LibGetSmbios64BitStructure (&StructHandle, NULL, NULL);\r
+ \r
+ Temp = ShellCommandLineGetValue(Package, L"-h");\r
+ if (Temp != NULL) {\r
+ RandomView = FALSE;\r
+ StructHandle = (UINT16) ShellStrToUintn(Temp);\r
+ }\r
+ \r
+ if (ShellCommandLineGetFlag(Package, L"-s")) {\r
+ Status = DisplaySmbios64BitStatisticsTable (SHOW_DETAIL);\r
+ if (EFI_ERROR(Status)) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ }\r
+ goto Done;\r
+ }\r
+ \r
+ //\r
+ // Show SMBIOS structure information\r
+ //\r
+ Status = SMBios64View (StructType, StructHandle, gShowType, RandomView);\r
+ if (EFI_ERROR(Status)) {\r
+ ShellStatus = SHELL_NOT_FOUND;\r
+ }\r
}\r
}\r
}\r
mStatisticsTable = NULL;\r
}\r
\r
+ if (mSmbios64BitStatisticsTable != NULL) {\r
+ //\r
+ // Release statistics table\r
+ //\r
+ FreePool (mSmbios64BitStatisticsTable);\r
+ mSmbios64BitStatisticsTable = NULL;\r
+ }\r
+\r
if (Package != NULL) {\r
ShellCommandLineFreeVarList (Package);\r
}\r
\r
LibSmbiosCleanup ();\r
+ LibSmbios64BitCleanup ();\r
\r
return ShellStatus;\r
}\r
return EFI_BAD_BUFFER_SIZE;\r
}\r
\r
+/**\r
+ Query all structures Data from SMBIOS table and Display\r
+ the information to users as required display option.\r
+\r
+ @param[in] QueryType Structure type to view.\r
+ @param[in] QueryHandle Structure handle to view.\r
+ @param[in] Option Display option: none,outline,normal,detail.\r
+ @param[in] RandomView Support for -h parameter.\r
+\r
+ @retval EFI_SUCCESS print is successful.\r
+ @retval EFI_BAD_BUFFER_SIZE structure is out of the range of SMBIOS table.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+SMBios64View (\r
+ IN UINT8 QueryType,\r
+ IN UINT16 QueryHandle,\r
+ IN UINT8 Option,\r
+ IN BOOLEAN RandomView\r
+ )\r
+{\r
+ UINT16 Handle;\r
+ UINT8 *Buffer;\r
+ UINT16 Length;\r
+ UINTN Index;\r
+ SMBIOS_STRUCTURE_POINTER SmbiosStruct;\r
+ SMBIOS_TABLE_3_0_ENTRY_POINT *SMBiosTable;\r
+\r
+ SMBiosTable = NULL;\r
+ LibSmbios64BitGetEPS (&SMBiosTable);\r
+ if (SMBiosTable == NULL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gShellDebug1HiiHandle);\r
+ return EFI_BAD_BUFFER_SIZE;\r
+ }\r
+\r
+ if (CompareMem (SMBiosTable->AnchorString, "_SM3_", 5) == 0) {\r
+ //\r
+ // Have got SMBIOS table\r
+ //\r
+ Smbios64BitPrintEPSInfo (SMBiosTable, Option);\r
+\r
+ SmbiosMajorVersion = SMBiosTable->MajorVersion;\r
+ SmbiosMinorVersion = SMBiosTable->MinorVersion;\r
+\r
+ ShellPrintEx(-1,-1,L"=========================================================\n");\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND), gShellDebug1HiiHandle);\r
+\r
+ if (QueryType == STRUCTURE_TYPE_RANDOM) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM), gShellDebug1HiiHandle);\r
+ } else {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE), gShellDebug1HiiHandle, QueryType);\r
+ }\r
+\r
+ if (RandomView) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE_RANDOM), gShellDebug1HiiHandle);\r
+ } else {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_QUERYHANDLE), gShellDebug1HiiHandle, QueryHandle);\r
+ }\r
+\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SHOWTYPE), gShellDebug1HiiHandle);\r
+ ShellPrintEx(-1,-1,GetShowTypeString (gShowType));\r
+ ShellPrintEx(-1,-1,L"\n\n");\r
+\r
+/*\r
+ //\r
+ // Get internal commands, such as change options.\r
+ //\r
+ Status = WaitEnter ();\r
+ if (EFI_ERROR (Status)) {\r
+ if (Status == EFI_ABORTED) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return Status;\r
+ }\r
+*/\r
+\r
+ //\r
+ // Searching and display structure info\r
+ //\r
+ Handle = QueryHandle;\r
+ for (Index = 0; Index < mNumberOfSmbios64BitStructures; Index++) {\r
+ //\r
+ // if reach the end of table, break..\r
+ //\r
+ if (Handle == INVALID_HANDLE) {\r
+ break;\r
+ }\r
+ //\r
+ // handle then point to the next!\r
+ //\r
+ if (LibGetSmbios64BitStructure (&Handle, &Buffer, &Length) != DMI_SUCCESS) {\r
+ break;\r
+ }\r
+\r
+ SmbiosStruct.Raw = Buffer;\r
+\r
+ //\r
+ // if QueryType==Random, print this structure.\r
+ // if QueryType!=Random, but Hdr->Type==QueryType, also print it.\r
+ // only if QueryType != Random and Hdr->Type != QueryType, skiped it.\r
+ //\r
+ if (QueryType != STRUCTURE_TYPE_RANDOM && SmbiosStruct.Hdr->Type != QueryType) {\r
+ continue;\r
+ }\r
+\r
+ ShellPrintEx(-1,-1,L"\n=========================================================\n");\r
+ ShellPrintHiiEx(-1,-1,NULL,\r
+ STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_TYPE_HANDLE_DUMP_STRUCT),\r
+ gShellDebug1HiiHandle,\r
+ SmbiosStruct.Hdr->Type,\r
+ SmbiosStruct.Hdr->Handle\r
+ );\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX_LENGTH), gShellDebug1HiiHandle, Index, Length);\r
+ //\r
+ // Addr of structure in structure in table\r
+ //\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ADDR), gShellDebug1HiiHandle, (UINTN) Buffer);\r
+ DumpHex (0, 0, Length, Buffer);\r
+\r
+/*\r
+ //\r
+ // Get internal commands, such as change options.\r
+ //\r
+ Status = WaitEnter ();\r
+ if (EFI_ERROR (Status)) {\r
+ if (Status == EFI_ABORTED) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return Status;\r
+ }\r
+*/\r
+\r
+ if (gShowType != SHOW_NONE) {\r
+ //\r
+ // Print structure information\r
+ //\r
+ SmbiosPrintStructure (&SmbiosStruct, gShowType);\r
+ ShellPrintEx(-1,-1,L"\n");\r
+\r
+/*\r
+ //\r
+ // Get internal commands, such as change options.\r
+ //\r
+ Status = WaitEnter ();\r
+ if (EFI_ERROR (Status)) {\r
+ if (Status == EFI_ABORTED) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return Status;\r
+ }\r
+*/\r
+ }\r
+ if (!RandomView) {\r
+ break;\r
+ }\r
+ //\r
+ // Support Execution Interrupt.\r
+ //\r
+ if (ShellGetExecutionBreakFlag ()) {\r
+ return EFI_ABORTED;\r
+ }\r
+ }\r
+\r
+ ShellPrintEx(-1,-1,L"\n=========================================================\n");\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return EFI_BAD_BUFFER_SIZE;\r
+}\r
+\r
/**\r
Function to initialize the global mStatisticsTable object.\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ @param[in] Smbios64EntryPoint SMBIOS 64-bit entry point.\r
+ @param[out] NumberOfSmbios64Structures The number of structures in 64-bit SMBIOS table.\r
+ @param[out] Smbios64TableLength The total length of 64-bit SMBIOS table.\r
+\r
+ @retval EFI_SUCCESS Calculation was successful.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+CalculateSmbios64BitStructureCountAndLength (\r
+ SMBIOS_TABLE_3_0_ENTRY_POINT *Smbios64EntryPoint,\r
+ UINTN *NumberOfSmbios64Structures,\r
+ UINTN *Smbios64TableLength\r
+)\r
+{\r
+ SMBIOS_STRUCTURE_POINTER Smbios;\r
+ UINT8 *Raw;\r
+ \r
+ *Smbios64TableLength = 0;\r
+ *NumberOfSmbios64Structures = 0;\r
+ \r
+ Smbios.Raw = (UINT8 *)(UINTN)(Smbios64EntryPoint->TableAddress);\r
+ while (TRUE) {\r
+ if (Smbios.Hdr->Type == 127) {\r
+ //\r
+ // Reach the end of table type 127\r
+ //\r
+ (*NumberOfSmbios64Structures)++;\r
+ (*Smbios64TableLength) += sizeof (SMBIOS_STRUCTURE);\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ Raw = Smbios.Raw;\r
+ //\r
+ // Walk to next structure\r
+ //\r
+ LibGetSmbiosString (&Smbios, (UINT16) (-1));\r
+ //\r
+ // Length = Next structure head - this structure head\r
+ //\r
+ (*Smbios64TableLength) += (UINTN) (Smbios.Raw - Raw);\r
+ if ((*Smbios64TableLength) > Smbios64EntryPoint->TableMaximumSize) {\r
+ //\r
+ // The actual table length exceeds maximum table size,\r
+ // There should be something wrong with SMBIOS table.\r
+ //\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ (*NumberOfSmbios64Structures)++;\r
+ }\r
+}\r
+\r
+/**\r
+ Function to initialize the global mSmbios64BitStatisticsTable object.\r
+\r
+ @retval EFI_SUCCESS print is successful.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+InitSmbios64BitTableStatistics (\r
+ VOID\r
+ )\r
+{\r
+ UINT16 Handle;\r
+ UINT8 *Buffer;\r
+ UINT16 Length;\r
+ UINT16 Offset;\r
+ UINT16 Index;\r
+ EFI_STATUS Status;\r
+ SMBIOS_STRUCTURE_POINTER SmbiosStruct;\r
+ SMBIOS_TABLE_3_0_ENTRY_POINT *SMBiosTable;\r
+ STRUCTURE_STATISTICS *StatisticsPointer;\r
+\r
+ SMBiosTable = NULL;\r
+ LibSmbios64BitGetEPS (&SMBiosTable);\r
+ if (SMBiosTable == NULL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gShellDebug1HiiHandle);\r
+ return EFI_NOT_FOUND;\r
+ }\r
+\r
+ if (CompareMem (SMBiosTable->AnchorString, "_SM3_", 5) != 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_SMBIOS_TABLE), gShellDebug1HiiHandle);\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ //\r
+ // Allocate memory to mSmbios64BitStatisticsTable\r
+ //\r
+ if (mSmbios64BitStatisticsTable != NULL) {\r
+ FreePool (mSmbios64BitStatisticsTable);\r
+ mSmbios64BitStatisticsTable = NULL;\r
+ }\r
+ //\r
+ // Calculate number of smbios structures\r
+ //\r
+ Status = CalculateSmbios64BitStructureCountAndLength (SMBiosTable, &mNumberOfSmbios64BitStructures, &mSmbios64BitTableLength);\r
+ if ((EFI_ERROR (Status)) || (mSmbios64BitTableLength > SMBiosTable->TableMaximumSize)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
+ \r
+ mSmbios64BitStatisticsTable = (STRUCTURE_STATISTICS *) AllocateZeroPool (mNumberOfSmbios64BitStructures * sizeof (STRUCTURE_STATISTICS));\r
+\r
+ if (mSmbios64BitStatisticsTable == NULL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OUT_OF_MEM), gShellDebug1HiiHandle);\r
+ return EFI_OUT_OF_RESOURCES;\r
+ }\r
+\r
+ Offset = 0;\r
+ StatisticsPointer = mSmbios64BitStatisticsTable;\r
+\r
+ //\r
+ // search from the first one\r
+ //\r
+ Handle = INVALID_HANDLE;\r
+ LibGetSmbios64BitStructure (&Handle, NULL, NULL);\r
+ for (Index = 1; Index <= mNumberOfSmbios64BitStructures; Index++) {\r
+ //\r
+ // If reach the end of table, break..\r
+ //\r
+ if (Handle == INVALID_HANDLE) {\r
+ break;\r
+ }\r
+ //\r
+ // After LibGetSmbios64BitStructure(), handle then point to the next!\r
+ //\r
+ if (LibGetSmbios64BitStructure (&Handle, &Buffer, &Length) != DMI_SUCCESS) {\r
+ break;\r
+ }\r
+\r
+ SmbiosStruct.Raw = Buffer;\r
+\r
+ //\r
+ // general statistics\r
+ //\r
+ StatisticsPointer->Index = Index;\r
+ StatisticsPointer->Type = SmbiosStruct.Hdr->Type;\r
+ StatisticsPointer->Handle = SmbiosStruct.Hdr->Handle;\r
+ StatisticsPointer->Length = Length;\r
+ StatisticsPointer->Addr = Offset;\r
+\r
+ Offset = (UINT16) (Offset + Length);\r
+\r
+ StatisticsPointer = &mSmbios64BitStatisticsTable[Index];\r
+ }\r
+\r
+ return EFI_SUCCESS;\r
+}\r
+\r
/**\r
Function to display the global mStatisticsTable object.\r
\r
return EFI_SUCCESS;\r
}\r
\r
+/**\r
+ Function to display the global mSmbios64BitStatisticsTable object.\r
+\r
+ @param[in] Option ECHO, NORMAL, or DETAIL control the amount of detail displayed.\r
+\r
+ @retval EFI_SUCCESS print is successful.\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+DisplaySmbios64BitStatisticsTable (\r
+ IN UINT8 Option\r
+ )\r
+{\r
+ UINTN Index;\r
+ UINTN Num;\r
+ STRUCTURE_STATISTICS *StatisticsPointer;\r
+ SMBIOS_TABLE_3_0_ENTRY_POINT *SMBiosTable;\r
+\r
+ SMBiosTable = NULL;\r
+ if (Option < SHOW_OUTLINE) {\r
+ return EFI_SUCCESS;\r
+ }\r
+ //\r
+ // display EPS information firstly\r
+ //\r
+ LibSmbios64BitGetEPS (&SMBiosTable);\r
+ if (SMBiosTable == NULL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_TABLE), gShellDebug1HiiHandle);\r
+ return EFI_UNSUPPORTED;\r
+ }\r
+\r
+ ShellPrintEx(-1,-1,L"\n============================================================\n");\r
+ Smbios64BitPrintEPSInfo (SMBiosTable, Option);\r
+\r
+ if (Option < SHOW_NORMAL) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ if (mSmbios64BitStatisticsTable == NULL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_CANNOT_ACCESS_STATS), gShellDebug1HiiHandle);\r
+ return EFI_NOT_FOUND;\r
+ }\r
+\r
+ ShellPrintEx(-1,-1,L"============================================================\n");\r
+ StatisticsPointer = &mSmbios64BitStatisticsTable[0];\r
+ Num = mNumberOfSmbios64BitStructures;\r
+ //\r
+ // display statistics table content\r
+ //\r
+ for (Index = 1; Index <= Num; Index++) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_INDEX), gShellDebug1HiiHandle, StatisticsPointer->Index);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_TYPE), gShellDebug1HiiHandle, StatisticsPointer->Type);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_HANDLE), gShellDebug1HiiHandle, StatisticsPointer->Handle);\r
+ if (Option >= SHOW_DETAIL) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_OFFSET), gShellDebug1HiiHandle, StatisticsPointer->Addr);\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_LENGTH), gShellDebug1HiiHandle, StatisticsPointer->Length);\r
+ }\r
+\r
+ ShellPrintEx(-1,-1,L"\n");\r
+ StatisticsPointer = &mSmbios64BitStatisticsTable[Index];\r
+/*\r
+ //\r
+ // Display 20 lines and wait for a page break\r
+ //\r
+ if (Index % 20 == 0) {\r
+ ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_SMBIOSVIEW_ENTER_CONTINUE), gShellDebug1HiiHandle);\r
+ Status = WaitEnter ();\r
+ if (EFI_ERROR (Status)) {\r
+ if (Status == EFI_ABORTED) {\r
+ return EFI_SUCCESS;\r
+ }\r
+\r
+ return Status;\r
+ }\r
+ }\r
+*/\r
+ }\r
+\r
+ return EFI_SUCCESS;\r
+}\r
+\r
/**\r
function to return a string of the detail level.\r
\r