* [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
@ 2022-07-27 16:20 sainadhn
2022-08-01 9:51 ` [edk2-devel] " Sainadh Nagolu
2022-08-05 5:50 ` 回复: " gaoliming
0 siblings, 2 replies; 10+ messages in thread
From: sainadhn @ 2022-07-27 16:20 UTC (permalink / raw)
To: devel@edk2.groups.io
Cc: Sainadh Nagolu, Sundaresan S, Vasudevan Sambandan,
gaoliming@byosoft.com.cn
In Type9 structure since PeerGroups has a variable
number of entries, must not define new fields in the structure.So added an
extended structure and defined new fields added after PeerGroups. Also done
some improvements to Smbios 3.5.0 spec changes.
Signed-off-by:
sainadh nagolu <sainadhn@ami.com>
---
MdePkg/Include/IndustryStandard/SmBios.h | 62 +++++++++++---------
1 file changed, 35 insertions(+), 27 deletions(-)
diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/IndustryStandard/SmBios.h
index c7a4971f14..f62ad7fa4d 100644
--- a/MdePkg/Include/IndustryStandard/SmBios.h
+++ b/MdePkg/Include/IndustryStandard/SmBios.h
@@ -1503,6 +1503,17 @@ typedef struct {
UINT8 DataBusWidth;
UINT8 PeerGroupingCount;
MISC_SLOT_PEER_GROUP PeerGroups[1];
+ //
+ // Since PeerGroups has a variable number of entries, must not define new
+ // fields in the structure. Remaining fields can be referenced using
+ // SMBIOS_TABLE_TYPE9_EXTENDED structure
+ //
+} SMBIOS_TABLE_TYPE9;
+
+///
+/// Extended structure for System Slots (Type 9)
+///
+typedef struct {
//
// Add for smbios 3.4
//
@@ -1513,7 +1524,7 @@ typedef struct {
// Add for smbios 3.5
//
UINT8 SlotHeight; ///< The enumeration value from MISC_SLOT_HEIGHT.
-} SMBIOS_TABLE_TYPE9;
+} SMBIOS_TABLE_TYPE9_EXTENDED;
///
/// On Board Devices Information - Device Types.
@@ -2746,11 +2757,11 @@ typedef enum {
///
/// Firmware Inventory Firmware Characteristics (Type 45).
///
-typedef enum {
- CharacteristicsUpdatable = 0x00,
- CharacteristicsWriteProtected = 0x01,
- CharacteristicsReserved = 0x02 /// 0x02 - 0x0F are reserved
-} FIRMWARE_INVENTORY_CHARACTERISTICS;
+typedef struct {
+ UINT16 Updatable :1;
+ UINT16 WriteProtected :1;
+ UINT16 Reserved :14;
+} FIRMWARE_CHARACTERISTICS;
///
/// Firmware Inventory State Information (Type 45).
@@ -2763,7 +2774,7 @@ typedef enum {
FirmwareInventoryStateAbsent = 0x05,
FirmwareInventoryStateStandbyOffline = 0x06,
FirmwareInventoryStateStandbySpare = 0x07,
- FirmwareInventoryStateUnavailableOffline = 0x08,
+ FirmwareInventoryStateUnavailableOffline = 0x08
} FIRMWARE_INVENTORY_STATE;
///
@@ -2780,21 +2791,19 @@ typedef enum {
/// One Type 45 structure is provided for each firmware component.
///
typedef struct {
- SMBIOS_STRUCTURE Hdr;
- SMBIOS_HANDLE RefHandle;
-
- UINT8 FirmwareComponentName;
- UINT8 FirmwareVersion;
- UINT8 FirmwareVersionFormat; ///< The enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE
- UINT8 FirmwareId;
- UINT8 FirmwareIdFormat;
- UINT8 ReleaseDate;
- UINT8 Manufacturer;
- UINT8 LowestSupportedVersion;
- UINT64 ImageSize;
- UINT32 Characteristics;
- UINT8 State;
- UINT8 AssociatedComponentCount;
+ SMBIOS_STRUCTURE Hdr;
+ SMBIOS_TABLE_STRING FirmwareComponentName;
+ SMBIOS_TABLE_STRING FirmwareVersion;
+ UINT8 FirmwareVersionFormat; ///< The enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE
+ SMBIOS_TABLE_STRING FirmwareId;
+ UINT8 FirmwareIdFormat; ///< The enumeration value from FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE.
+ SMBIOS_TABLE_STRING ReleaseDate;
+ SMBIOS_TABLE_STRING Manufacturer;
+ SMBIOS_TABLE_STRING LowestSupportedVersion;
+ UINT64 ImageSize;
+ FIRMWARE_CHARACTERISTICS Characteristics;
+ UINT8 State; ///< The enumeration value from FIRMWARE_INVENTORY_STATE.
+ UINT8 AssociatedComponentCount;
///
/// zero or n-number of handles depends on AssociatedComponentCount
/// handles are of type SMBIOS_HANDLE
@@ -2820,11 +2829,10 @@ typedef enum {
/// parent structure.
///
typedef struct {
- SMBIOS_STRUCTURE Hdr;
- SMBIOS_HANDLE RefHandle;
- UINT16 StringPropertyId;
- UINT8 StringPropertyValue;
- SMBIOS_HANDLE ParentHandle;
+ SMBIOS_STRUCTURE Hdr;
+ UINT16 StringPropertyId; ///< The enumeration value from STRING_PROPERTY_ID.
+ SMBIOS_TABLE_STRING StringPropertyValue;
+ SMBIOS_HANDLE ParentHandle;
} SMBIOS_TABLE_TYPE46;
///
--
2.36.0.windows.1
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-07-27 16:20 [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes sainadhn
@ 2022-08-01 9:51 ` Sainadh Nagolu
2022-08-05 5:50 ` 回复: " gaoliming
1 sibling, 0 replies; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-01 9:51 UTC (permalink / raw)
To: Sainadh Nagolu, devel
[-- Attachment #1: Type: text/plain, Size: 35 bytes --]
Please help to review this Patch.
[-- Attachment #2: Type: text/html, Size: 35 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-07-27 16:20 [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes sainadhn
2022-08-01 9:51 ` [edk2-devel] " Sainadh Nagolu
@ 2022-08-05 5:50 ` gaoliming
2022-08-09 10:59 ` [edk2-devel] " Sainadh Nagolu
` (4 more replies)
1 sibling, 5 replies; 10+ messages in thread
From: gaoliming @ 2022-08-05 5:50 UTC (permalink / raw)
To: devel, sainadhn; +Cc: 'Sundaresan S', 'Vasudevan Sambandan'
The change is good. But the change in Smbios type 9 will impact
ShellPkg\Library\UefiShellDebug1CommandsLib\SmbiosView\PrintInfo.c. Please
also update ShellPkg.
Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sainadh
> Nagolu via groups.io
> 发送时间: 2022年7月28日 0:21
> 收件人: devel@edk2.groups.io
> 抄送: Sainadh Nagolu <sainadhn@ami.com>; Sundaresan S
> <sundaresans@ami.com>; Vasudevan Sambandan <vasudevans@ami.com>;
> gaoliming@byosoft.com.cn
> 主题: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and
> Smbios 3.5.0 spec changes
>
> In Type9 structure since PeerGroups has a variable
> number of entries, must not define new fields in the structure.So added
an
> extended structure and defined new fields added after PeerGroups. Also
> done
> some improvements to Smbios 3.5.0 spec changes.
>
> Signed-off-by:
> sainadh nagolu <sainadhn@ami.com>
>
> ---
> MdePkg/Include/IndustryStandard/SmBios.h | 62 +++++++++++---------
> 1 file changed, 35 insertions(+), 27 deletions(-)
>
> diff --git a/MdePkg/Include/IndustryStandard/SmBios.h
> b/MdePkg/Include/IndustryStandard/SmBios.h
> index c7a4971f14..f62ad7fa4d 100644
> --- a/MdePkg/Include/IndustryStandard/SmBios.h
> +++ b/MdePkg/Include/IndustryStandard/SmBios.h
> @@ -1503,6 +1503,17 @@ typedef struct {
> UINT8 DataBusWidth;
>
> UINT8 PeerGroupingCount;
>
> MISC_SLOT_PEER_GROUP PeerGroups[1];
>
> + //
>
> + // Since PeerGroups has a variable number of entries, must not define
> new
>
> + // fields in the structure. Remaining fields can be referenced using
>
> + // SMBIOS_TABLE_TYPE9_EXTENDED structure
>
> + //
>
> +} SMBIOS_TABLE_TYPE9;
>
> +
>
> +///
>
> +/// Extended structure for System Slots (Type 9)
>
> +///
>
> +typedef struct {
>
> //
>
> // Add for smbios 3.4
>
> //
>
> @@ -1513,7 +1524,7 @@ typedef struct {
> // Add for smbios 3.5
>
> //
>
> UINT8 SlotHeight; ///< The
> enumeration value from MISC_SLOT_HEIGHT.
>
> -} SMBIOS_TABLE_TYPE9;
>
> +} SMBIOS_TABLE_TYPE9_EXTENDED;
>
>
>
> ///
>
> /// On Board Devices Information - Device Types.
>
> @@ -2746,11 +2757,11 @@ typedef enum {
> ///
>
> /// Firmware Inventory Firmware Characteristics (Type 45).
>
> ///
>
> -typedef enum {
>
> - CharacteristicsUpdatable = 0x00,
>
> - CharacteristicsWriteProtected = 0x01,
>
> - CharacteristicsReserved = 0x02 /// 0x02 - 0x0F are reserved
>
> -} FIRMWARE_INVENTORY_CHARACTERISTICS;
>
> +typedef struct {
>
> + UINT16 Updatable :1;
>
> + UINT16 WriteProtected :1;
>
> + UINT16 Reserved :14;
>
> +} FIRMWARE_CHARACTERISTICS;
>
>
>
> ///
>
> /// Firmware Inventory State Information (Type 45).
>
> @@ -2763,7 +2774,7 @@ typedef enum {
> FirmwareInventoryStateAbsent = 0x05,
>
> FirmwareInventoryStateStandbyOffline = 0x06,
>
> FirmwareInventoryStateStandbySpare = 0x07,
>
> - FirmwareInventoryStateUnavailableOffline = 0x08,
>
> + FirmwareInventoryStateUnavailableOffline = 0x08
>
> } FIRMWARE_INVENTORY_STATE;
>
>
>
> ///
>
> @@ -2780,21 +2791,19 @@ typedef enum {
> /// One Type 45 structure is provided for each firmware component.
>
> ///
>
> typedef struct {
>
> - SMBIOS_STRUCTURE Hdr;
>
> - SMBIOS_HANDLE RefHandle;
>
> -
>
> - UINT8 FirmwareComponentName;
>
> - UINT8 FirmwareVersion;
>
> - UINT8 FirmwareVersionFormat; ///< The
> enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE
>
> - UINT8 FirmwareId;
>
> - UINT8 FirmwareIdFormat;
>
> - UINT8 ReleaseDate;
>
> - UINT8 Manufacturer;
>
> - UINT8 LowestSupportedVersion;
>
> - UINT64 ImageSize;
>
> - UINT32 Characteristics;
>
> - UINT8 State;
>
> - UINT8 AssociatedComponentCount;
>
> + SMBIOS_STRUCTURE Hdr;
>
> + SMBIOS_TABLE_STRING FirmwareComponentName;
>
> + SMBIOS_TABLE_STRING FirmwareVersion;
>
> + UINT8 FirmwareVersionFormat; ///< The
> enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE
>
> + SMBIOS_TABLE_STRING FirmwareId;
>
> + UINT8 FirmwareIdFormat; ///< The
> enumeration value from
> FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE.
>
> + SMBIOS_TABLE_STRING ReleaseDate;
>
> + SMBIOS_TABLE_STRING Manufacturer;
>
> + SMBIOS_TABLE_STRING LowestSupportedVersion;
>
> + UINT64 ImageSize;
>
> + FIRMWARE_CHARACTERISTICS Characteristics;
>
> + UINT8 State; ///< The
> enumeration value from FIRMWARE_INVENTORY_STATE.
>
> + UINT8 AssociatedComponentCount;
>
> ///
>
> /// zero or n-number of handles depends on AssociatedComponentCount
>
> /// handles are of type SMBIOS_HANDLE
>
> @@ -2820,11 +2829,10 @@ typedef enum {
> /// parent structure.
>
> ///
>
> typedef struct {
>
> - SMBIOS_STRUCTURE Hdr;
>
> - SMBIOS_HANDLE RefHandle;
>
> - UINT16 StringPropertyId;
>
> - UINT8 StringPropertyValue;
>
> - SMBIOS_HANDLE ParentHandle;
>
> + SMBIOS_STRUCTURE Hdr;
>
> + UINT16 StringPropertyId; ///< The
> enumeration value from STRING_PROPERTY_ID.
>
> + SMBIOS_TABLE_STRING StringPropertyValue;
>
> + SMBIOS_HANDLE ParentHandle;
>
> } SMBIOS_TABLE_TYPE46;
>
>
>
> ///
>
> --
> 2.36.0.windows.1
> -The information contained in this message may be confidential and
> proprietary to American Megatrends (AMI). This communication is intended
to
> be read only by the individual or entity to whom it is addressed or by
their
> designee. If the reader of this message is not the intended recipient, you
are
> on notice that any distribution of this message, in any form, is strictly
> prohibited. Please promptly notify the sender by reply e-mail or by
telephone
> at 770-246-8600, and then delete or destroy all copies of the
transmission.
>
>
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-08-05 5:50 ` 回复: " gaoliming
@ 2022-08-09 10:59 ` Sainadh Nagolu
2022-08-12 6:06 ` Sainadh Nagolu
` (3 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-09 10:59 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1: Type: text/plain, Size: 181 bytes --]
Updated PrintInfo.c from ShellPkg, Patch for the same is available in edk2 maillist.( https://edk2.groups.io/g/devel/message/92250 )
Please help to review.
Thanks,
Sainadh.
[-- Attachment #2: Type: text/html, Size: 344 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-08-05 5:50 ` 回复: " gaoliming
2022-08-09 10:59 ` [edk2-devel] " Sainadh Nagolu
@ 2022-08-12 6:06 ` Sainadh Nagolu
2022-08-17 2:45 ` Sainadh Nagolu
` (2 subsequent siblings)
4 siblings, 0 replies; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-12 6:06 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1: Type: text/plain, Size: 172 bytes --]
ShellPkg is updated and reviewed( message:92383 ( https://edk2.groups.io/g/devel/message/92383 ) ). Please help to review this patch and include in edk2-stable202208 tag.
[-- Attachment #2: Type: text/html, Size: 211 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-08-05 5:50 ` 回复: " gaoliming
2022-08-09 10:59 ` [edk2-devel] " Sainadh Nagolu
2022-08-12 6:06 ` Sainadh Nagolu
@ 2022-08-17 2:45 ` Sainadh Nagolu
2022-08-17 5:51 ` 回复: " gaoliming
2022-08-17 8:55 ` Sainadh Nagolu
2022-08-17 9:08 ` Sainadh Nagolu
4 siblings, 1 reply; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-17 2:45 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1: Type: text/plain, Size: 208 bytes --]
Hi Liming,
I have replied to your mail on 15th August itself with patch files, incase it's not delivered to you I have sent again now. Please help to check and include in stable tag.
Thanks,
Sainadh.
[-- Attachment #2: Type: text/html, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-08-05 5:50 ` 回复: " gaoliming
` (2 preceding siblings ...)
2022-08-17 2:45 ` Sainadh Nagolu
@ 2022-08-17 8:55 ` Sainadh Nagolu
2022-08-18 8:42 ` 回复: " gaoliming
2022-08-17 9:08 ` Sainadh Nagolu
4 siblings, 1 reply; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-17 8:55 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1: Type: text/plain, Size: 143 bytes --]
Hi Liming,
Created edk2 Pull Request with Patches, Please help to check.
https://github.com/tianocore/edk2/pull/3214
Thanks,
Sainadh.
[-- Attachment #2: Type: text/html, Size: 256 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 回复: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes
2022-08-05 5:50 ` 回复: " gaoliming
` (3 preceding siblings ...)
2022-08-17 8:55 ` Sainadh Nagolu
@ 2022-08-17 9:08 ` Sainadh Nagolu
4 siblings, 0 replies; 10+ messages in thread
From: Sainadh Nagolu @ 2022-08-17 9:08 UTC (permalink / raw)
To: gaoliming, devel
[-- Attachment #1.1: Type: text/plain, Size: 52 bytes --]
Also attaching the patch files here for reference.
[-- Attachment #1.2: Type: text/html, Size: 58 bytes --]
[-- Attachment #2: Edk2PatchFiles.rar --]
[-- Type: application/octet-stream, Size: 61023 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2022-08-18 8:43 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-27 16:20 [PATCH] MdePkg:Improved Smbios Type9 table and Smbios 3.5.0 spec changes sainadhn
2022-08-01 9:51 ` [edk2-devel] " Sainadh Nagolu
2022-08-05 5:50 ` 回复: " gaoliming
2022-08-09 10:59 ` [edk2-devel] " Sainadh Nagolu
2022-08-12 6:06 ` Sainadh Nagolu
2022-08-17 2:45 ` Sainadh Nagolu
2022-08-17 5:51 ` 回复: " gaoliming
2022-08-17 8:55 ` Sainadh Nagolu
2022-08-18 8:42 ` 回复: " gaoliming
2022-08-17 9:08 ` Sainadh Nagolu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox