From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: liming.gao@intel.com) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by groups.io with SMTP; Mon, 07 Oct 2019 18:14:39 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Oct 2019 18:14:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,269,1566889200"; d="scan'208";a="196461909" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga003.jf.intel.com with ESMTP; 07 Oct 2019 18:14:38 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 7 Oct 2019 18:14:38 -0700 Received: from shsmsx106.ccr.corp.intel.com (10.239.4.159) by FMSMSX119.amr.corp.intel.com (10.18.124.207) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 7 Oct 2019 18:14:37 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.166]) by SHSMSX106.ccr.corp.intel.com ([169.254.10.119]) with mapi id 14.03.0439.000; Tue, 8 Oct 2019 09:14:35 +0800 From: "Liming Gao" To: "devel@edk2.groups.io" , "abner.chang@hpe.com" CC: "Kinney, Michael D" , Leif Lindholm , "Chen, Gilbert" Subject: Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file Thread-Topic: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file Thread-Index: AQHVbptG1CqDNiTtjUqzmeUamgi3b6cydHYwgBeyygCABeSOkA== Date: Tue, 8 Oct 2019 01:14:35 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E510BE8@SHSMSX104.ccr.corp.intel.com> References: <1568862283-31624-1-git-send-email-abner.chang@hpe.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E4FE58E@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: liming.gao@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Abner: Thanks for your notice. I see the public SMBIOS 3.3.0.=20 For this patch set, I have two minor comments. For other part, Reviewed-= by: Liming Gao 1) Please add BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2202 in= the commit message.=20 2) The comment for gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev is not r= equired to be changed.=20 This field is in SMBIOS 3.0 spec. It is not new added one in SMBIOS 3.3. Thanks Liming >-----Original Message----- >From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of >Abner Chang >Sent: Friday, October 04, 2019 11:06 PM >To: Gao, Liming ; devel@edk2.groups.io >Cc: Kinney, Michael D ; Leif Lindholm >; Chen, Gilbert >Subject: Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header >file > >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.gao@intel.com] >> Sent: Thursday, September 19, 2019 1:23 PM >> To: Chang, Abner (HPS SW/FW Technologist) ; >> devel@edk2.groups.io >> Cc: Kinney, Michael D ; Leif Lindholm >> ; Chen, Gilbert >> Subject: RE: [PATCH v2] MdePkg:Include: Update SmBios header file >> >> Abner: >> Please add BZ URL in the commit message, and separate this patch to t= hree >> 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.chang@hpe.com] >> >Sent: Thursday, September 19, 2019 11:05 AM >> >To: devel@edk2.groups.io >> >Cc: abner.chang@hpe.com; Kinney, Michael D >> >; Gao, Liming ; Leif >> >Lindholm ; Gilbert Chen >> > >> >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 >> > >> >Cc: Michael D Kinney >> >Cc: Liming Gao >> >Cc: Leif Lindholm >> >Cc: Gilbert Chen >> >--- >> > 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|0x000 >1 >> 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. >> > (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 >> > >> > **/ >> >@@ -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 specificatio= n. >> > // >> > #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 =3D 0x012E, >> > ProcessorFamilyWinChip =3D 0x0140, >> > ProcessorFamilyDSP =3D 0x015E, >> >- ProcessorFamilyVideoProcessor =3D 0x01F4 >> >+ ProcessorFamilyVideoProcessor =3D 0x01F4, >> >+ ProcessorFamilyRiscvRV32 =3D 0x0200, >> >+ ProcessorFamilyRiscVRV64 =3D 0x0201, >> >+ ProcessorFamilyRiscVRV128 =3D 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 /// typede= f >> >+enum{ >> >+ ProcessorSpecificBlockArchTypeReserved =3D 0x00, >> >+ ProcessorSpecificBlockArchTypeIa32 =3D 0x01, >> >+ ProcessorSpecificBlockArchTypeX64 =3D 0x02, >> >+ ProcessorSpecificBlockArchTypeItanium =3D 0x03, >> >+ ProcessorSpecificBlockArchTypeAarch32 =3D 0x04, >> >+ ProcessorSpecificBlockArchTypeAarch64 =3D 0x05, >> >+ ProcessorSpecificBlockArchTypeRiscVRV32 =3D 0x06, >> >+ ProcessorSpecificBlockArchTypeRiscVRV64 =3D 0x07, >> >+ ProcessorSpecificBlockArchTypeRiscVRV128 =3D 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 additiona= l >> >information in case >> >+/// SMBIOS type 4 is not sufficient to describe processor characteris= tics. >> >+/// 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; ///< T= his 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.
>> >- (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 >> > >> > **/ >> >@@ -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.
>> >- (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] 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.
>> >- (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[] =3D { >> > { >> > 7, >> > L" Power/Performance Control" >> >+ }, >> >+ { >> >+ 8, >> >+ L" 128-bit Capable" >> > } >> > }; >> > >> >@@ -3268,6 +3272,44 @@ TABLE_ITEM MCHostInterfaceTypeTable[] =3D { >> > }, >> > }; >> > >> >+TABLE_ITEM ProcessorArchitectureTypesTable[] =3D { >> >+ { >> >+ 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[] =3D { >> > { >> >@@ -3447,6 +3489,10 @@ TABLE_ITEM StructureTypeInfoTable[] =3D { >> > 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/UefiShellDebug1Comm >a >> nd >> >sLib.uni >> >b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comm >a >> n >> >dsLib.uni >> >index 42a9295..6693be2 100644 >> >--- >> >a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comm >a >> nd >> >sLib.uni >> >+++ >> >b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comm >a >> n >> >dsLib.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" >> >-- >> >2.7.4 > > >