Thanks for take my suggestion. But you may forget the other one. What I said is that moving the display functions into one function, not just removing one of them. Here is the example: 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); }
And you should add the STR_SMBIOSVIEW_QUERYTABLE_PROCESSOR_ARCH_TYPE to the SmbiosViewStrings.uni file with an appropriate string like "Process Architecture Type:". In my opinion, PRINT_STRUCT_VALUE_H is used to print the field's name and hex value without any explain of the value. And DisplayXXX function is used to display the field's name, field's value and the meaning of the value. Thanks, Zhichao > -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Abner Chang > Sent: Wednesday, October 9, 2019 2:48 PM > To: devel@edk2.groups.io > Cc: abner.ch...@hpe.com; Carsey, Jaben <jaben.car...@intel.com>; Ni, > Ray <ray...@intel.com>; Gao, Zhichao <zhichao....@intel.com>; Leif > Lindholm <leif.lindh...@linaro.org>; Gilbert Chen <gilbert.c...@hpe.com> > Subject: [edk2-devel] [PATCH v6 3/3] > 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 <abner.ch...@hpe.com> > > Cc: Jaben Carsey <jaben.car...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Zhichao Gao <zhichao....@intel.com> > Cc: Leif Lindholm <leif.lindh...@linaro.org> > Cc: Gilbert Chen <gilbert.c...@hpe.com> > --- > .../SmbiosView/PrintInfo.c | 22 +++++++- > .../SmbiosView/PrintInfo.h | 13 ++++- > .../SmbiosView/QueryTable.c | 63 > +++++++++++++++++++++- > .../UefiShellDebug1CommandsLib.uni | 3 +- > 4 files changed, 97 insertions(+), 4 deletions(-) > > diff --git > a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > index cfd7a2b..4989102 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.<BR> > (C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR> > - (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR> > + (C) Copyright 2015-2019 Hewlett Packard Enterprise Development LP<BR> > SPDX-License-Identifier: BSD-2-Clause-Patent > > **/ > @@ -1169,6 +1169,14 @@ SmbiosPrintStructure ( > break; > > // > + // Processor Additional Information (Type 44) // case 44: > + PRINT_STRUCT_VALUE_H (Struct, Type44, RefHandle); > + DisplayProcessorArchitectureType (Struct->Type44- > >ProcessorSpecificBlock.ProcessorArchType, Option); > + break; > + > + // > // Inactive (Type 126) > // > case 126: > @@ -2350,6 +2358,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 a8c32ab..77a86fc 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.<BR> > - (C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR> > + (C) Copyright 2017 - 2019 Hewlett Packard Enterprise Development > + LP<BR> > 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 bfb7c3b..ef098ad 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.<BR> > - (C) Copyright 2016-2017 Hewlett Packard Enterprise Development LP<BR> > + (C) Copyright 2016-2019 Hewlett Packard Enterprise Development LP<BR> > 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[] = { > { > @@ -3447,6 +3489,10 @@ TABLE_ITEM StructureTypeInfoTable[] = { > L" TPM Device" > }, > { > + 44, > + L" Processor Additional Information" > + }, > + { > 0x7E, > L" Inactive" > }, > @@ -4697,6 +4743,21 @@ DisplayMCHostInterfaceType ( } > > /** > + 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 > + ) > +{ > + PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Key); } > + > +/** > Display the structure type information. > > @param[in] Key The key of the structure. > diff --git > a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > index 42a9295..6693be2 100644 > --- > a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > dsLib.uni > +++ > b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman > d > +++ sLib.uni > @@ -2,7 +2,7 @@ > // > // Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> > // (C) > Copyright 2013-2015 Hewlett-Packard Development Company, L.P.<BR> -// > (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> > +// (C) Copyright 2016 - 2019 Hewlett Packard Enterprise Development > +LP<BR> > // 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" > -- > 2.7.4 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#48625): https://edk2.groups.io/g/devel/message/48625 Mute This Topic: https://groups.io/mt/34460664/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-