Just aware that SMBIOS 3.3.0 is published on DMTF, https://www.dmtf.org/standards/smbios
The latest version of patch set is PATCH v4, please review it and help to push to mainstream if no further comments. Thanks Abner > -----Original Message----- > From: Gao, Liming [mailto:liming....@intel.com] > Sent: Thursday, September 19, 2019 1:23 PM > To: Chang, Abner (HPS SW/FW Technologist) <abner.ch...@hpe.com>; > devel@edk2.groups.io > Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Leif Lindholm > <leif.lindh...@linaro.org>; Chen, Gilbert <gilbert.c...@hpe.com> > Subject: RE: [PATCH v2] MdePkg:Include: Update SmBios header file > > Abner: > Please add BZ URL in the commit message, and separate this patch to three > changes. Each one is for each package of MdePkg, MdeModulePkg and > ShellPkg. > > As Leif say, SmBios 3.3 spec is not published. This patch will not be pushed > until SmBios 3.3 is published. > > >-----Original Message----- > >From: Abner Chang [mailto:abner.ch...@hpe.com] > >Sent: Thursday, September 19, 2019 11:05 AM > >To: devel@edk2.groups.io > >Cc: abner.ch...@hpe.com; Kinney, Michael D > ><michael.d.kin...@intel.com>; Gao, Liming <liming....@intel.com>; Leif > >Lindholm <leif.lindh...@linaro.org>; Gilbert Chen > ><gilbert.c...@hpe.com> > >Subject: [PATCH v2] MdePkg:Include: Update SmBios header file > > > >Update SmBios header file to conform with SMBIOS v3.3.0. > >The major update is to add definitions of SMBIOS Type 44h record. > > > >Signed-off-by: Abner Chang <abner.ch...@hpe.com> > > > >Cc: Michael D Kinney <michael.d.kin...@intel.com> > >Cc: Liming Gao <liming....@intel.com> > >Cc: Leif Lindholm <leif.lindh...@linaro.org> > >Cc: Gilbert Chen <gilbert.c...@hpe.com> > >--- > > MdeModulePkg/MdeModulePkg.dec | 6 +- > > MdePkg/Include/IndustryStandard/SmBios.h | 76 > >+++++++++++++++++++++- > > .../SmbiosView/PrintInfo.c | 23 ++++++- > > .../SmbiosView/PrintInfo.h | 13 +++- > > .../SmbiosView/QueryTable.c | 63 +++++++++++++++++- > > .../UefiShellDebug1CommandsLib.uni | 3 +- > > 6 files changed, 174 insertions(+), 10 deletions(-) > > > >diff --git a/MdeModulePkg/MdeModulePkg.dec > >b/MdeModulePkg/MdeModulePkg.dec index 19935c8..e3a65ab 100644 > >--- a/MdeModulePkg/MdeModulePkg.dec > >+++ b/MdeModulePkg/MdeModulePkg.dec > >@@ -1792,10 +1792,10 @@ > > > > ## SMBIOS version. > > # @Prompt SMBIOS version. > >- > >gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0302|UINT16|0 > x0 > >0010055 > >+ > >gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0303|UINT16|0 > x0 > >0010055 > > > >- ## SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point Structure. > >- # @Prompt SMBIOS Docrev field in SMBIOS 3.0 (64-bit) Entry Point > Structure. > >+ ## SMBIOS Docrev field in SMBIOS 3.3 (64-bit) Entry Point Structure. > >+ # @Prompt SMBIOS Docrev field in SMBIOS 3.3 (64-bit) Entry Point > >Structure. > > > >gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0|UINT8|0x0001 > 00 > >6A > > > > ## SMBIOS produce method. > >diff --git a/MdePkg/Include/IndustryStandard/SmBios.h > >b/MdePkg/Include/IndustryStandard/SmBios.h > >index f3b6f18..f504cc8 100644 > >--- a/MdePkg/Include/IndustryStandard/SmBios.h > >+++ b/MdePkg/Include/IndustryStandard/SmBios.h > >@@ -1,8 +1,9 @@ > > /** @file > >- Industry Standard Definitions of SMBIOS Table Specification v3.2.0. > >+ Industry Standard Definitions of SMBIOS Table Specification v3.3.0. > > > > Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<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 > > > > **/ > >@@ -46,7 +47,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define > >SMBIOS_3_0_TABLE_MAX_LENGTH 0xFFFFFFFF > > > > // > >-// SMBIOS type macros which is according to SMBIOS 2.7 specification. > >+// SMBIOS type macros which is according to SMBIOS 3.3.0 specification. > > // > > #define SMBIOS_TYPE_BIOS_INFORMATION 0 > > #define SMBIOS_TYPE_SYSTEM_INFORMATION 1 > >@@ -92,6 +93,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define > >SMBIOS_TYPE_ONBOARD_DEVICES_EXTENDED_INFORMATION 41 #define > >SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE 42 > > #define SMBIOS_TYPE_TPM_DEVICE 43 > >+#define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION 44 > > > > /// > > /// Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, > >chapter 3.3.43. > >@@ -727,7 +729,10 @@ typedef enum { > > ProcessorFamilyMII = 0x012E, > > ProcessorFamilyWinChip = 0x0140, > > ProcessorFamilyDSP = 0x015E, > >- ProcessorFamilyVideoProcessor = 0x01F4 > >+ ProcessorFamilyVideoProcessor = 0x01F4, > >+ ProcessorFamilyRiscvRV32 = 0x0200, > >+ ProcessorFamilyRiscVRV64 = 0x0201, > >+ ProcessorFamilyRiscVRV128 = 0x0202 > > } PROCESSOR_FAMILY2_DATA; > > > > /// > >@@ -857,6 +862,19 @@ typedef struct { > > } PROCESSOR_FEATURE_FLAGS; > > > > typedef struct { > >+ UINT32 ProcessorReserved1 :1; > >+ UINT32 ProcessorUnknown :1; > >+ UINT32 Processor64BitCapble :1; > >+ UINT32 ProcessorMultiCore :1; > >+ UINT32 ProcessorHardwareThread :1; > >+ UINT32 ProcessorExecuteProtection :1; > >+ UINT32 ProcessorEnhancedVirtulization :1; > >+ UINT32 ProcessorPowerPerformanceCtrl :1; > >+ UINT32 Processor128bitCapble :1; > >+ UINT32 ProcessorReserved2 :7; > >+} PROCESSOR_CHARACTERISTIC_FLAGS; > >+ > >+typedef struct { > > PROCESSOR_SIGNATURE Signature; > > PROCESSOR_FEATURE_FLAGS FeatureFlags; } PROCESSOR_ID_DATA; @@ > >-2508,6 +2526,57 @@ typedef struct { > > UINT8 InterfaceTypeSpecificData[4]; ///< > > This field has a > >minimum of four bytes > > } SMBIOS_TABLE_TYPE42; > > > >+ > >+/// > >+/// Processor Specific Block - Processor Architecture Type /// typedef > >+enum{ > >+ ProcessorSpecificBlockArchTypeReserved = 0x00, > >+ ProcessorSpecificBlockArchTypeIa32 = 0x01, > >+ ProcessorSpecificBlockArchTypeX64 = 0x02, > >+ ProcessorSpecificBlockArchTypeItanium = 0x03, > >+ ProcessorSpecificBlockArchTypeAarch32 = 0x04, > >+ ProcessorSpecificBlockArchTypeAarch64 = 0x05, > >+ ProcessorSpecificBlockArchTypeRiscVRV32 = 0x06, > >+ ProcessorSpecificBlockArchTypeRiscVRV64 = 0x07, > >+ ProcessorSpecificBlockArchTypeRiscVRV128 = 0x08 } > >+PROCESSOR_SPECIFIC_BLOCK_ARCH_TYPE; > >+ > >+/// > >+/// Processor Specific Block is the standard container of > >+processor-specific > >data. > >+/// > >+typedef struct { > >+ UINT8 Length; > >+ UINT8 ProcessorArchType; > >+ /// > >+ /// Below followed by Processor-specific data > >+ /// > >+ /// > >+} PROCESSOR_SPECIFIC_BLOCK; > >+ > >+/// > >+/// Processor Additional Information(Type 44). > >+/// > >+/// The information in this structure defines the processor additional > >information in case > >+/// SMBIOS type 4 is not sufficient to describe processor characteristics. > >+/// The SMBIOS type 44 structure has a reference handle field to link > >+back to > >the related > >+/// SMBIOS type 4 structure. There may be multiple SMBIOS type 44 > >structures linked to the > >+/// same SMBIOS type 4 structure. For example, when cores are not > >+identical > >in a processor, > >+/// SMBIOS type 44 structures describe different core-specific information. > >+/// > >+/// SMBIOS type 44 defines the standard header for the > >+processor-specific > >block, while the > >+/// contents of processor-specific data are maintained by processor > >+/// architecture workgroups or vendors in separate documents. > >+/// > >+typedef struct { > >+ SMBIOS_STRUCTURE Hdr; > >+ SMBIOS_HANDLE RefHandle; ///< This > >field refer to > >associated SMBIOS type 4 > >+ /// > >+ /// Below followed by Processor-specific block > >+ /// > >+ PROCESSOR_SPECIFIC_BLOCK ProcessorSpecificBlock; > >+} SMBIOS_TABLE_TYPE44; > >+ > > /// > > /// TPM Device (Type 43). > > /// > >@@ -2586,6 +2655,7 @@ typedef union { > > SMBIOS_TABLE_TYPE41 *Type41; > > SMBIOS_TABLE_TYPE42 *Type42; > > SMBIOS_TABLE_TYPE43 *Type43; > >+ SMBIOS_TABLE_TYPE44 *Type44; > > SMBIOS_TABLE_TYPE126 *Type126; > > SMBIOS_TABLE_TYPE127 *Type127; > > UINT8 *Raw; > >diff --git > >a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > >b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/PrintInfo.c > >index cfd7a2b..ff0c1db 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,15 @@ SmbiosPrintStructure ( > > break; > > > > // > >+ // Processor Additional Information (Type 44) // case 44: > >+ PRINT_STRUCT_VALUE_H (Struct, Type44, RefHandle); > >+ PRINT_STRUCT_VALUE_H (Struct, Type44, > >ProcessorSpecificBlock.ProcessorArchType); > >+ ProcessorArchitectureType (Struct->Type44- > >>ProcessorSpecificBlock.ProcessorArchType, Option); > >+ break; > >+ > >+ // > > // Inactive (Type 126) > > // > > case 126: > >@@ -2350,6 +2359,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..22f59d6 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] Type The key of the structure. > >+ @param[in] Option The optional information. > >+**/ > >+VOID > >+ProcessorArchitectureType ( > >+ IN UINT8 Type, > >+ IN UINT8 Option > >+ ); > > #endif > >diff --git > >a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTabl > e.c > >b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTabl > e.c > >index bfb7c3b..54e9a52 100644 > >--- > >a/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTabl > e.c > >+++ > >b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTabl > e.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] Type The key of the structure. > >+ @param[in] Option The optional information. > >+**/ > >+VOID > >+ProcessorArchitectureType ( > >+ IN UINT8 Type, > >+ IN UINT8 Option > >+ ) > >+{ > >+ PRINT_TABLE_ITEM (ProcessorArchitectureTypesTable, Type); } > >+ > >+/** > > Display the structure type information. > > > > @param[in] Key The key of the structure. > >diff --git > >a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comma > nd > >sLib.uni > >b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comma > n > >dsLib.uni > >index 42a9295..6693be2 100644 > >--- > >a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comma > nd > >sLib.uni > >+++ > >b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comma > n > >dsLib.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 (#48476): https://edk2.groups.io/g/devel/message/48476 Mute This Topic: https://groups.io/mt/34196247/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-