* [PATCH v2] MdePkg:Include: Update SmBios header file
@ 2019-09-19 3:04 Abner Chang
2019-09-19 5:22 ` Liming Gao
0 siblings, 1 reply; 7+ messages in thread
From: Abner Chang @ 2019-09-19 3:04 UTC (permalink / raw)
To: devel
Cc: abner.chang, Michael D Kinney, Liming Gao, Leif Lindholm,
Gilbert Chen
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.chang@hpe.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Gilbert Chen <gilbert.chen@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|0x00010055
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0303|UINT16|0x00010055
- ## 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|0x0001006A
## 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/QueryTable.c b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
index bfb7c3b..54e9a52 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] 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/UefiShellDebug1CommandsLib.uni b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.uni
index 42a9295..6693be2 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.<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
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2] MdePkg:Include: Update SmBios header file
2019-09-19 3:04 [PATCH v2] MdePkg:Include: Update SmBios header file Abner Chang
@ 2019-09-19 5:22 ` Liming Gao
2019-10-04 15:06 ` Abner Chang
0 siblings, 1 reply; 7+ messages in thread
From: Liming Gao @ 2019-09-19 5:22 UTC (permalink / raw)
To: Abner Chang, devel@edk2.groups.io
Cc: Kinney, Michael D, Leif Lindholm, Gilbert Chen
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.chang@hpe.com]
>Sent: Thursday, September 19, 2019 11:05 AM
>To: devel@edk2.groups.io
>Cc: abner.chang@hpe.com; Kinney, Michael D <michael.d.kinney@intel.com>;
>Gao, Liming <liming.gao@intel.com>; Leif Lindholm <leif.lindholm@linaro.org>;
>Gilbert Chen <gilbert.chen@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.chang@hpe.com>
>
>Cc: Michael D Kinney <michael.d.kinney@intel.com>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Leif Lindholm <leif.lindholm@linaro.org>
>Cc: Gilbert Chen <gilbert.chen@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|0x0
>0010055
>+
>gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0303|UINT16|0x0
>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|0x000100
>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/QueryTable.c
>b/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/QueryTable.c
>index bfb7c3b..54e9a52 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] 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/UefiShellDebug1Command
>sLib.uni
>b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
>dsLib.uni
>index 42a9295..6693be2 100644
>---
>a/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Command
>sLib.uni
>+++
>b/ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1Comman
>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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2] MdePkg:Include: Update SmBios header file
2019-09-19 5:22 ` Liming Gao
@ 2019-10-04 15:06 ` Abner Chang
2019-10-08 1:14 ` [edk2-devel] " Liming Gao
0 siblings, 1 reply; 7+ messages in thread
From: Abner Chang @ 2019-10-04 15:06 UTC (permalink / raw)
To: Gao, Liming, devel@edk2.groups.io
Cc: Kinney, Michael D, Leif Lindholm, Chen, Gilbert
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) <abner.chang@hpe.com>;
> devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@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.chang@hpe.com]
> >Sent: Thursday, September 19, 2019 11:05 AM
> >To: devel@edk2.groups.io
> >Cc: abner.chang@hpe.com; Kinney, Michael D
> ><michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Leif
> >Lindholm <leif.lindholm@linaro.org>; Gilbert Chen
> ><gilbert.chen@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.chang@hpe.com>
> >
> >Cc: Michael D Kinney <michael.d.kinney@intel.com>
> >Cc: Liming Gao <liming.gao@intel.com>
> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> >Cc: Gilbert Chen <gilbert.chen@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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file
2019-10-04 15:06 ` Abner Chang
@ 2019-10-08 1:14 ` Liming Gao
2019-10-08 8:37 ` Abner Chang
2019-10-08 10:11 ` Leif Lindholm
0 siblings, 2 replies; 7+ messages in thread
From: Liming Gao @ 2019-10-08 1:14 UTC (permalink / raw)
To: devel@edk2.groups.io, abner.chang@hpe.com
Cc: Kinney, Michael D, Leif Lindholm, Chen, Gilbert
Abner:
Thanks for your notice. I see the public SMBIOS 3.3.0.
For this patch set, I have two minor comments. For other part, Reviewed-by: Liming Gao <liming.gao@intel.com>
1) Please add BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2202 in the commit message.
2) The comment for gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev is not required to be changed.
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 <liming.gao@intel.com>; devel@edk2.groups.io
>Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
><leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@hpe.com>
>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) <abner.chang@hpe.com>;
>> devel@edk2.groups.io
>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
>> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@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.chang@hpe.com]
>> >Sent: Thursday, September 19, 2019 11:05 AM
>> >To: devel@edk2.groups.io
>> >Cc: abner.chang@hpe.com; Kinney, Michael D
>> ><michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Leif
>> >Lindholm <leif.lindholm@linaro.org>; Gilbert Chen
>> ><gilbert.chen@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.chang@hpe.com>
>> >
>> >Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> >Cc: Liming Gao <liming.gao@intel.com>
>> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
>> >Cc: Gilbert Chen <gilbert.chen@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|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.<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/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.<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
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file
2019-10-08 1:14 ` [edk2-devel] " Liming Gao
@ 2019-10-08 8:37 ` Abner Chang
2019-10-08 10:11 ` Leif Lindholm
1 sibling, 0 replies; 7+ messages in thread
From: Abner Chang @ 2019-10-08 8:37 UTC (permalink / raw)
To: Gao, Liming, devel@edk2.groups.io
Cc: Kinney, Michael D, Leif Lindholm, Chen, Gilbert
Thanks Liming,
[PATCH v5] was sent.
I added BZ link in commit message in each patch and reverted the changes on PcdSmbiosDocRev.
Abner
> -----Original Message-----
> From: Gao, Liming [mailto:liming.gao@intel.com]
> Sent: Tuesday, October 8, 2019 9:15 AM
> To: devel@edk2.groups.io; Chang, Abner (HPS SW/FW Technologist)
> <abner.chang@hpe.com>
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@hpe.com>
> Subject: RE: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios
> header file
>
> Abner:
> Thanks for your notice. I see the public SMBIOS 3.3.0.
>
> For this patch set, I have two minor comments. For other part, Reviewed-by:
> Liming Gao <liming.gao@intel.com>
> 1) Please add BZ: INVALID URI REMOVED
> 3A__bugzilla.tianocore.org_show-5Fbug.cgi-3Fid-
> 3D2202&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_SN6FZBN4Vgi4Ulks
> kz6qU3NYRO03nHp9P7Z5q59A3E&m=gM5jfUqBhKlNrUmWsg_93sw45gXUq
> WoAl7p2YtJ02tE&s=a2Q0nhgk7ms0Ik28D2zOF_GH9vpbZHsZzNHGChN0r7k&e
> = in the commit message.
> 2) The comment for gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev
> is not required to be changed.
> 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 <liming.gao@intel.com>; devel@edk2.groups.io
> >Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> ><leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@hpe.com>
> >Subject: Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios
> >header file
> >
> >Just aware that SMBIOS 3.3.0 is published on DMTF,
> >INVALID URI REMOVED
> 3A__www.dmtf.org_stand
> >ards_smbios&d=DwIFAg&c=C5b8zRQO1miGmBeVZ2LFWg&r=_SN6FZBN4V
> gi4Ulkskz6qU3
> >NYRO03nHp9P7Z5q59A3E&m=gM5jfUqBhKlNrUmWsg_93sw45gXUqWoAl7
> p2YtJ02tE&s=0B
> >MjpMouuP-2RINBiN0FS-YOe7mwBQp_2VdCMurVQW4&e=
> >
> >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) <abner.chang@hpe.com>;
> >> devel@edk2.groups.io
> >> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> >> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@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.chang@hpe.com]
> >> >Sent: Thursday, September 19, 2019 11:05 AM
> >> >To: devel@edk2.groups.io
> >> >Cc: abner.chang@hpe.com; Kinney, Michael D
> >> ><michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>;
> >> >Leif Lindholm <leif.lindholm@linaro.org>; Gilbert Chen
> >> ><gilbert.chen@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.chang@hpe.com>
> >> >
> >> >Cc: Michael D Kinney <michael.d.kinney@intel.com>
> >> >Cc: Liming Gao <liming.gao@intel.com>
> >> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> >> >Cc: Gilbert Chen <gilbert.chen@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|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.<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/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.<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
> >
> >
> >
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file
2019-10-08 1:14 ` [edk2-devel] " Liming Gao
2019-10-08 8:37 ` Abner Chang
@ 2019-10-08 10:11 ` Leif Lindholm
2019-10-08 13:18 ` Liming Gao
1 sibling, 1 reply; 7+ messages in thread
From: Leif Lindholm @ 2019-10-08 10:11 UTC (permalink / raw)
To: Gao, Liming
Cc: devel@edk2.groups.io, abner.chang@hpe.com, Kinney, Michael D,
Chen, Gilbert
Hi Liming,
If you push this set (v5), could you possibly also push it to
https://github.com/tianocore/edk2-staging/tree/RISC-V-V2 ?
The three patches apply cleanly on this revision, and are a
prerequisite for the code destined to go in there.
Best Regards,
Leif
On Tue, Oct 08, 2019 at 01:14:35AM +0000, Gao, Liming wrote:
> Abner:
> Thanks for your notice. I see the public SMBIOS 3.3.0.
>
> For this patch set, I have two minor comments. For other part, Reviewed-by: Liming Gao <liming.gao@intel.com>
> 1) Please add BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2202 in the commit message.
> 2) The comment for gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev is not required to be changed.
> 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 <liming.gao@intel.com>; devel@edk2.groups.io
> >Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> ><leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@hpe.com>
> >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) <abner.chang@hpe.com>;
> >> devel@edk2.groups.io
> >> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> >> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@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.chang@hpe.com]
> >> >Sent: Thursday, September 19, 2019 11:05 AM
> >> >To: devel@edk2.groups.io
> >> >Cc: abner.chang@hpe.com; Kinney, Michael D
> >> ><michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Leif
> >> >Lindholm <leif.lindholm@linaro.org>; Gilbert Chen
> >> ><gilbert.chen@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.chang@hpe.com>
> >> >
> >> >Cc: Michael D Kinney <michael.d.kinney@intel.com>
> >> >Cc: Liming Gao <liming.gao@intel.com>
> >> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> >> >Cc: Gilbert Chen <gilbert.chen@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|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.<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/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.<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
> >
> >
> >
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file
2019-10-08 10:11 ` Leif Lindholm
@ 2019-10-08 13:18 ` Liming Gao
0 siblings, 0 replies; 7+ messages in thread
From: Liming Gao @ 2019-10-08 13:18 UTC (permalink / raw)
To: Leif Lindholm
Cc: devel@edk2.groups.io, abner.chang@hpe.com, Kinney, Michael D,
Chen, Gilbert
OK. I will push them to edk2-staging/tree/RISC-V-V2.
Thanks
Liming
> -----Original Message-----
> From: Leif Lindholm <leif.lindholm@linaro.org>
> Sent: Tuesday, October 8, 2019 6:11 PM
> To: Gao, Liming <liming.gao@intel.com>
> Cc: devel@edk2.groups.io; abner.chang@hpe.com; Kinney, Michael D <michael.d.kinney@intel.com>; Chen, Gilbert
> <gilbert.chen@hpe.com>
> Subject: Re: [edk2-devel] [PATCH v2] MdePkg:Include: Update SmBios header file
>
> Hi Liming,
>
> If you push this set (v5), could you possibly also push it to
> https://github.com/tianocore/edk2-staging/tree/RISC-V-V2 ?
>
> The three patches apply cleanly on this revision, and are a
> prerequisite for the code destined to go in there.
>
> Best Regards,
>
> Leif
>
> On Tue, Oct 08, 2019 at 01:14:35AM +0000, Gao, Liming wrote:
> > Abner:
> > Thanks for your notice. I see the public SMBIOS 3.3.0.
> >
> > For this patch set, I have two minor comments. For other part, Reviewed-by: Liming Gao <liming.gao@intel.com>
> > 1) Please add BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2202 in the commit message.
> > 2) The comment for gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev is not required to be changed.
> > 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 <liming.gao@intel.com>; devel@edk2.groups.io
> > >Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> > ><leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@hpe.com>
> > >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) <abner.chang@hpe.com>;
> > >> devel@edk2.groups.io
> > >> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Leif Lindholm
> > >> <leif.lindholm@linaro.org>; Chen, Gilbert <gilbert.chen@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.chang@hpe.com]
> > >> >Sent: Thursday, September 19, 2019 11:05 AM
> > >> >To: devel@edk2.groups.io
> > >> >Cc: abner.chang@hpe.com; Kinney, Michael D
> > >> ><michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; Leif
> > >> >Lindholm <leif.lindholm@linaro.org>; Gilbert Chen
> > >> ><gilbert.chen@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.chang@hpe.com>
> > >> >
> > >> >Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > >> >Cc: Liming Gao <liming.gao@intel.com>
> > >> >Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > >> >Cc: Gilbert Chen <gilbert.chen@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|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.<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/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.<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
> > >
> > >
> > >
> >
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-10-08 13:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-19 3:04 [PATCH v2] MdePkg:Include: Update SmBios header file Abner Chang
2019-09-19 5:22 ` Liming Gao
2019-10-04 15:06 ` Abner Chang
2019-10-08 1:14 ` [edk2-devel] " Liming Gao
2019-10-08 8:37 ` Abner Chang
2019-10-08 10:11 ` Leif Lindholm
2019-10-08 13:18 ` Liming Gao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox