From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from walk.intel-email.com (walk.intel-email.com [101.227.64.242]) by mx.groups.io with SMTP id smtpd.web09.3880.1659678610558961756 for ; Thu, 04 Aug 2022 22:50:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=BuQVShyZ; spf=pass (domain: byosoft.com.cn, ip: 101.227.64.242, mailfrom: gaoliming@byosoft.com.cn) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id BFDA0CD1F744 for ; Fri, 5 Aug 2022 13:50:07 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1659678607; bh=u4haDYLKAzgALtNlUZcOxa/YmvDuZWUylBCedgBvz24=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=BuQVShyZkVY+yGGGkBxRf2Wklmjeodo1SobBU9P7yPvrIzbRoniPlsN7mhcwZ+UE/ Nq3xdxlKtMA/cAa1SF5cXcNgAeY3kzMpwK57KFJCA7wWXMf8ZbJ6IUtAyVoTEP/Y3B x33muHLmnsqgLbfDfd0BkLgF5wwkFMuVjAg4EeUk= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id BC306CD1F6C6 for ; Fri, 5 Aug 2022 13:50:07 +0800 (CST) X-Virus-Scanned: by SpamTitan at intel-email.com Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 73BAACD1F6C1 for ; Fri, 5 Aug 2022 13:50:07 +0800 (CST) Authentication-Results: walk.intel-email.com; none Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by walk.intel-email.com (Postfix) with SMTP id 1762ECD1F699 for ; Fri, 5 Aug 2022 13:50:04 +0800 (CST) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Fri, 05 Aug 2022 13:49:58 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , Cc: "'Sundaresan S'" , "'Vasudevan Sambandan'" References: <20220727162018.1095-1-sainadhn@ami.com> In-Reply-To: <20220727162018.1095-1-sainadhn@ami.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBNZGVQa2c6SW1wcm92ZWQgU21iaW9zIFR5cGU5IHRhYmxlIGFuZCBTbWJpb3MgMy41LjAgc3BlYyBjaGFuZ2Vz?= Date: Fri, 5 Aug 2022 13:50:02 +0800 Message-ID: <02fc01d8a88f$34a7c6f0$9df754d0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQJaeYbn81XPSwxwXBFjKXBVyYGitaycKxWA Sender: "gaoliming" Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn The change is good. But the change in Smbios type 9 will impact ShellPkg\Library\UefiShellDebug1CommandsLib\SmbiosView\PrintInfo.c. Please also update ShellPkg.=20 Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: devel@edk2.groups.io =B4=FA=B1= =ED Sainadh > Nagolu via groups.io > =B7=A2=CB=CD=CA=B1=BC=E4: 2022=C4=EA7=D4=C228=C8=D5 0:21 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Sainadh Nagolu ; Sundaresan S > ; Vasudevan Sambandan ; > gaoliming@byosoft.com.cn > =D6=F7=CC=E2: [edk2-devel] [PATCH] MdePkg:Improved Smbios Type9 table and > Smbios 3.5.0 spec changes >=20 > 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. >=20 > Signed-off-by: > sainadh nagolu >=20 > --- > MdePkg/Include/IndustryStandard/SmBios.h | 62 +++++++++++--------- > 1 file changed, 35 insertions(+), 27 deletions(-) >=20 > 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; >=20 > UINT8 PeerGroupingCount; >=20 > MISC_SLOT_PEER_GROUP PeerGroups[1]; >=20 > + // >=20 > + // Since PeerGroups has a variable number of entries, must not define > new >=20 > + // fields in the structure. Remaining fields can be referenced using >=20 > + // SMBIOS_TABLE_TYPE9_EXTENDED structure >=20 > + // >=20 > +} SMBIOS_TABLE_TYPE9; >=20 > + >=20 > +/// >=20 > +/// Extended structure for System Slots (Type 9) >=20 > +/// >=20 > +typedef struct { >=20 > // >=20 > // Add for smbios 3.4 >=20 > // >=20 > @@ -1513,7 +1524,7 @@ typedef struct { > // Add for smbios 3.5 >=20 > // >=20 > UINT8 SlotHeight; ///< The > enumeration value from MISC_SLOT_HEIGHT. >=20 > -} SMBIOS_TABLE_TYPE9; >=20 > +} SMBIOS_TABLE_TYPE9_EXTENDED; >=20 >=20 >=20 > /// >=20 > /// On Board Devices Information - Device Types. >=20 > @@ -2746,11 +2757,11 @@ typedef enum { > /// >=20 > /// Firmware Inventory Firmware Characteristics (Type 45). >=20 > /// >=20 > -typedef enum { >=20 > - CharacteristicsUpdatable =3D 0x00, >=20 > - CharacteristicsWriteProtected =3D 0x01, >=20 > - CharacteristicsReserved =3D 0x02 /// 0x02 - 0x0F are reserved >=20 > -} FIRMWARE_INVENTORY_CHARACTERISTICS; >=20 > +typedef struct { >=20 > + UINT16 Updatable :1; >=20 > + UINT16 WriteProtected :1; >=20 > + UINT16 Reserved :14; >=20 > +} FIRMWARE_CHARACTERISTICS; >=20 >=20 >=20 > /// >=20 > /// Firmware Inventory State Information (Type 45). >=20 > @@ -2763,7 +2774,7 @@ typedef enum { > FirmwareInventoryStateAbsent =3D 0x05, >=20 > FirmwareInventoryStateStandbyOffline =3D 0x06, >=20 > FirmwareInventoryStateStandbySpare =3D 0x07, >=20 > - FirmwareInventoryStateUnavailableOffline =3D 0x08, >=20 > + FirmwareInventoryStateUnavailableOffline =3D 0x08 >=20 > } FIRMWARE_INVENTORY_STATE; >=20 >=20 >=20 > /// >=20 > @@ -2780,21 +2791,19 @@ typedef enum { > /// One Type 45 structure is provided for each firmware component. >=20 > /// >=20 > typedef struct { >=20 > - SMBIOS_STRUCTURE Hdr; >=20 > - SMBIOS_HANDLE RefHandle; >=20 > - >=20 > - UINT8 FirmwareComponentName; >=20 > - UINT8 FirmwareVersion; >=20 > - UINT8 FirmwareVersionFormat; ///< The > enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE >=20 > - UINT8 FirmwareId; >=20 > - UINT8 FirmwareIdFormat; >=20 > - UINT8 ReleaseDate; >=20 > - UINT8 Manufacturer; >=20 > - UINT8 LowestSupportedVersion; >=20 > - UINT64 ImageSize; >=20 > - UINT32 Characteristics; >=20 > - UINT8 State; >=20 > - UINT8 AssociatedComponentCount; >=20 > + SMBIOS_STRUCTURE Hdr; >=20 > + SMBIOS_TABLE_STRING FirmwareComponentName; >=20 > + SMBIOS_TABLE_STRING FirmwareVersion; >=20 > + UINT8 FirmwareVersionFormat; ///< The > enumeration value from FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE >=20 > + SMBIOS_TABLE_STRING FirmwareId; >=20 > + UINT8 FirmwareIdFormat; ///< The > enumeration value from > FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE. >=20 > + SMBIOS_TABLE_STRING ReleaseDate; >=20 > + SMBIOS_TABLE_STRING Manufacturer; >=20 > + SMBIOS_TABLE_STRING LowestSupportedVersion; >=20 > + UINT64 ImageSize; >=20 > + FIRMWARE_CHARACTERISTICS Characteristics; >=20 > + UINT8 State; ///< The > enumeration value from FIRMWARE_INVENTORY_STATE. >=20 > + UINT8 AssociatedComponentCount; >=20 > /// >=20 > /// zero or n-number of handles depends on AssociatedComponentCount >=20 > /// handles are of type SMBIOS_HANDLE >=20 > @@ -2820,11 +2829,10 @@ typedef enum { > /// parent structure. >=20 > /// >=20 > typedef struct { >=20 > - SMBIOS_STRUCTURE Hdr; >=20 > - SMBIOS_HANDLE RefHandle; >=20 > - UINT16 StringPropertyId; >=20 > - UINT8 StringPropertyValue; >=20 > - SMBIOS_HANDLE ParentHandle; >=20 > + SMBIOS_STRUCTURE Hdr; >=20 > + UINT16 StringPropertyId; ///< The > enumeration value from STRING_PROPERTY_ID. >=20 > + SMBIOS_TABLE_STRING StringPropertyValue; >=20 > + SMBIOS_HANDLE ParentHandle; >=20 > } SMBIOS_TABLE_TYPE46; >=20 >=20 >=20 > /// >=20 > -- > 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, yo= u 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. >=20 >=20 >=20 >=20