From e797a806a8d090a09a782fe10ba2765154579d4b Mon Sep 17 00:00:00 2001 From: Abner Chang Date: Tue, 15 Oct 2019 15:45:45 +0800 Subject: [PATCH] ShellPkg/UefiShellDebug1CommandsLib: Update to support SmBios 3.3.0 Shell command smbiosview updates for SMBIOS 3.3.0 spec. Bugzilla link, https://bugzilla.tianocore.org/show_bug.cgi?id=2202 Signed-off-by: Abner Chang Cc: Jaben Carsey Cc: Ray Ni Cc: Zhichao Gao Cc: Leif Lindholm Cc: Gilbert Chen Reviewed-by: Zhichao Gao --- .../SmbiosView/PrintInfo.c | 21 +++++- .../SmbiosView/PrintInfo.h | 13 +++- .../SmbiosView/QueryTable.c | 65 ++++++++++++++++++- .../SmbiosView/SmbiosViewStrings.uni | 3 +- .../UefiShellDebug1CommandsLib.uni | 3 +- 5 files changed, 100 insertions(+), 5 deletions(-) diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c index cfd7a2b9e9..a75caff3de 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c @@ -3,7 +3,7 @@ Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.
- (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
+ (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -1168,6 +1168,13 @@ SmbiosPrintStructure ( PRINT_STRUCT_VALUE_H (Struct, Type43, OemDefined); break; + // + // Processor Additional Information (Type 44) + // + case 44: + DisplayProcessorArchitectureType (Struct->Type44->ProcessorSpecificBlock.ProcessorArchType, Option); + break; + // // Inactive (Type 126) // @@ -2350,6 +2357,18 @@ DisplayProcessorFamily2 ( Print (L"Video Processor\n"); break; + case 0x200: + Print (L"RISC-V RV32\n"); + break; + + case 0x201: + Print (L"RISC-V RV64\n"); + break; + + case 0x202: + Print (L"RISC-V RV128\n"); + break; + default: ShellPrintHiiEx(-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_PRINTINFO_UNDEFINED_PROC_FAMILY), gShellDebug1HiiHandle); } diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h index a8c32ab60f..fd219773de 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.h @@ -2,7 +2,7 @@ Module to clarify the element info of the smbios structure. Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.
- (C) Copyright 2017 Hewlett Packard Enterprise Development LP
+ (C) Copyright 2017 - 2019 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -427,4 +427,15 @@ DisplayTpmDeviceCharacteristics ( IN UINT8 Option ); +/** + Display Processor Architecture Type (Type 44). + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorArchitectureType ( + IN UINT8 Key, + IN UINT8 Option + ); #endif diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c index bfb7c3b2ce..fdb7a47d33 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c @@ -3,7 +3,7 @@ And give a interface of query a string out of a table. Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.
- (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP
+ (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -620,6 +620,10 @@ TABLE_ITEM ProcessorCharacteristicsTable[] = { { 7, L" Power/Performance Control" + }, + { + 8, + L" 128-bit Capable" } }; @@ -3268,6 +3272,44 @@ TABLE_ITEM MCHostInterfaceTypeTable[] = { }, }; +TABLE_ITEM ProcessorArchitectureTypesTable[] = { + { + 0, + L" Reserved " + }, + { + 1, + L" IA32 (x86) " + }, + { + 2, + L" x64 (x86-64, intel64, AMD64, EM64T) " + }, + { + 3, + L" Intel Itanium architecture " + }, + { + 4, + L" 32-bit ARM (Aarch32) " + }, + { + 5, + L" 64-bit ARM (Aarch64) " + }, + { + 6, + L" 32-bit RISC-V (RV32) " + }, + { + 7, + L" 64-bit RISC-V (RV64) " + }, + { + 8, + L" 128-bit RISC-V (RV128) " + } +}; TABLE_ITEM StructureTypeInfoTable[] = { { @@ -3446,6 +3488,10 @@ TABLE_ITEM StructureTypeInfoTable[] = { 43, L" TPM Device" }, + { + 44, + L" Processor Additional Information" + }, { 0x7E, L" Inactive" @@ -4696,6 +4742,23 @@ DisplayMCHostInterfaceType ( PRINT_TABLE_ITEM (MCHostInterfaceTypeTable, Key); } +/** + Display Processor Architecture Type (Type 44). + + @param[in] Key The key of the structure. + @param[in] Option The optional information. +**/ +VOID +DisplayProcessorArchitectureType ( + IN UINT8 Key, + IN UINT8 Option + ) +{ + ShellPrintHiiEx (-1,-1,NULL,STRING_TOKEN (STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE), gShellDebug1HiiHandle); + PRINT_INFO_OPTION (Key, Option); + PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key); +} + /** Display the structure type information. diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni index 94aff91f51..7fbcc9a31a 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/SmbiosViewStrings.uni @@ -2,7 +2,7 @@ // // Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.
// (C) Copyright 2014-2015 Hewlett-Packard Development Company, L.P.
-// (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
+// (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP
// SPDX-License-Identifier: BSD-2-Clause-Patent // // Module Name: @@ -447,6 +447,7 @@ #string STR_SMBIOSVIEW_QUERYTABLE_BMC_INTERFACE_TYPE #language en-US "BMC Interface Type:" #string STR_SMBIOSVIEW_QUERYTABLE_MC_HOST_INTERFACE_TYPE #language en-US "MC Host Interface Type:" #string STR_SMBIOSVIEW_QUERYTABLE_STRUCT_TYPE #language en-US "Structure Type:" +#string STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE #language en-US "Processor Architecture Type:" #string STR_SMBIOSVIEW_SMBIOSVIEW_ONE_VAR_ARGV #language en-US "%s " #string STR_SMBIOSVIEW_SMBIOSVIEW_QUERY_STRUCT_COND #language en-US "Query Structure, conditions are:\r\n" #string STR_SMBIOSVIEW_SMBIOSVIEW_QUERYTYPE_RANDOM #language en-US "QueryType = Random \r\n" diff --git a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni index 42a9295100..6693be26e6 100644 --- a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni +++ b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni @@ -2,7 +2,7 @@ // // Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.
// (C) Copyright 2013-2015 Hewlett-Packard Development Company, L.P.
-// (C) Copyright 2016 Hewlett Packard Enterprise Development LP
+// (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development LP
// SPDX-License-Identifier: BSD-2-Clause-Patent // // Module Name: @@ -976,6 +976,7 @@ " 41 - Onboard Devices Extended Information\r\n" " 42 - Management Controller Host Interface\r\n" " 43 - TPM Device\r\n" +" 44 - Processor Additional Information\r\n" " 2. Enter the SmbiosHandle parameter in hexadecimal format.\r\n" " Do not use the '0x' prefix format for hexadecimal values.\r\n" " 3. Internal commands:\r\n"