From nobody Fri May 3 04:46:43 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83386+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=pass(p=none dis=none) header.from=groups.io Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1636115068830528.1267717620823; Fri, 5 Nov 2021 05:24:28 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id F2EJYY1788612xnQMt2Bmf7W; Fri, 05 Nov 2021 05:24:28 -0700 X-Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.107.244.78]) by mx.groups.io with SMTP id smtpd.web10.4637.1636115067459988615 for ; Fri, 05 Nov 2021 05:24:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VaZJ25j7CB5vDLLk0CXm8GMWy+zoXhjM/Il68eOZW0YwCIxRM8wHlKGfgYRcqN0saOcW2mgKI/ei9X+jZGG7EX2lyg6NKUObhZjog9uJVBBVROxSy4TPInKed7k9bNxcK4EbY0PZNdNtKmxMbmGlenc2eM9NlQC8V5wq4Af/PmINVmU05h18VEq1q0mALLzZ/IAbSEzKzmZetPnMMcJ8mLuqrAEtBlNQB7SESdbs/QUZhyQyumbSIK6h0bYKP/w82U6LpRH5LlXaLIpF+DvH9Y4424AjPS8EfZzpFsCNgnDfzh0u6m1fRnz232i18zcyQcD8Mdavbdz7Q53hdldIvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Ap3b1iQB/2WOtLcy7mCwUUkzzIowGidYTQWW7rijOr8=; b=Vins3DZzwnGrvhdD2JZPluCk8fmJA5z00o9huwPSZi44S2TTygNcJGPa/vf2OyD2keFZ/70NipjtZ/kJ8L4WCZNzD4rQOZ72OXPOqIJGJY8QshctyCEp1gyyMgLKxdnQ8t0Jz86/8NvNaIod/o63Cm8MFm3/q3+UP6tiwYUQvJFl2+HHzPxTrFQeXlprrWbwMaSX7u0qD7K4Ji4p/so2lxsJSvr1J5dpFXS2/b4n/ganlXJh7mALEbLewLpmB0zH6RCggQ9dtg7pI5/7qDehE65nUXNHToc6Wj08UUKI6hBjy+Ilx/ooMO1+uflYxK4a51znwhg5Scp/9vbVJJV9cA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none X-Received: from DM5PR20CA0036.namprd20.prod.outlook.com (2603:10b6:3:13d::22) by SA0PR12MB4478.namprd12.prod.outlook.com (2603:10b6:806:9c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Fri, 5 Nov 2021 12:24:25 +0000 X-Received: from DM6NAM11FT012.eop-nam11.prod.protection.outlook.com (2603:10b6:3:13d:cafe::b9) by DM5PR20CA0036.outlook.office365.com (2603:10b6:3:13d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Fri, 5 Nov 2021 12:24:25 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83386+1787277+3901457@groups.io; helo=mail02.groups.io; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; X-Received: from SATLEXMB03.amd.com (165.204.84.17) by DM6NAM11FT012.mail.protection.outlook.com (10.13.173.109) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4669.10 via Frontend Transport; Fri, 5 Nov 2021 12:24:24 +0000 X-Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Fri, 5 Nov 2021 07:24:24 -0500 X-Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Fri, 5 Nov 2021 07:24:24 -0500 X-Received: from BLR-LAB-SFW01.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2308.15 via Frontend Transport; Fri, 5 Nov 2021 07:24:22 -0500 From: "Abdul Lateef Attar via groups.io" To: CC: Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [edk2-devel] [PATCH v1 1/1] MdePkg/Include: Smbios Specification 3.5.0 changes Date: Fri, 5 Nov 2021 17:54:36 +0530 Message-ID: <20211105122436.19634-2-abdattar@amd.com> In-Reply-To: <20211105122436.19634-1-abdattar@amd.com> References: <20211105122436.19634-1-abdattar@amd.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a790878c-926d-47e4-d8aa-08d9a057345e X-MS-TrafficTypeDiagnostic: SA0PR12MB4478: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: Ez715MtFkNaMfTrZuffuqDJ0lv1Ab5rhDvUdDrbFtSlw18vEO/E7v3NzxQtvg+mFOIZDCCb9tJyquQIcs+GeVVnSV8P3PfJpvUwcB7uk0Nb5Iw3SZSk5A6Z0ayylpj39HTC8wREl7CPAIcHxUNVBk2GNQgJqkNRD+tkf2AtuO78N4/aMgO0I4mMblZoyhuaava7kkKYnWDHAUauZf2s/eUU7o5+B84meD+uUmLTgv6DezhOluC05wB5kRQypuQAHmvMERyHbD3V9wAnEUn+U6SKvoGtJWQyynwPFFpjD8JnKzVkASAp45BluDHoU0UhXc/NblNgrqRTC6DZcHhstXsIjLALKZlMbDtvwCT0OMekfbO3l3q7wWk/lUcBHCPg0nR3UkcojzMi+N54jmuivJue1FasHqcGxL5PQXhupDPR+TWcxZUtFZi++5Odw7V+6NNJYtIjL3tM9oRi0jzHwrjZrnDI4ZHQ6PLIkE67+8lpNUn3nkmSjILrCq5CH19DYxowNhqQuzu7w37ZSsfAEk2cHBqAjP8lqbeu0aY8Wxz6ClMuPnXlvZd17nmmv2Yb5hb4lF9L3jvdBUMuixyGACnZL5ng3fiXoTU4bsA4iH4SWp2DDpoIpt8X1suOrFfV+RXiiTyGib2qnn0kaNJaocqg1iwJ8oOi9crnWn+98H49ddPSq3NjcM1HopdwkgQsRYGIFLm3YDXBOjWccyi4g1TEXokWReN00NGXkKrHBCXw= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Nov 2021 12:24:24.9956 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a790878c-926d-47e4-d8aa-08d9a057345e X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT012.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4478 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,abdattar@amd.com X-Gm-Message-State: Wa2cuD0wweJRapRRBlhVWgPkx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1636115068; bh=CgZU3oxSYZgUhJN47f2UFZwNmW0IYIjw8vr6l1Xwl9k=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=eiCaFqsbmlJUwno3hZbnZIgMm22GB+9T6mRj7ABLJmQAjlA/DQpi2Ff0scZF7C97SJh HwOHVd0UwtpkiXuKWXmxSVn4vFdoRkhbGcH3pj+7eV4K0hqni9gxyiretI4l1lvCFdj3J uycyrFgNQbS6MUsejD48cJSCJtASiRXJo0c= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1636115070176100005 Content-Type: text/plain; charset="utf-8" Adds following changes 1) Added support for manufacturing mode in BIOS Characteristics Extension Byte 2. 2) Added support for slot height in System Slot Table (type 9). 3) Updated Built-in pointing device interface with USB, I2C and SPI. 4) Updates Onboard Devices Extended Information with wireless LAN, bluetooth, WWAN, eMMC, NVMe and UFC. 5) Added new table Firmware Inventory Information (Type 45) and its corresponding enum values. 6) Added new table String Property Table (Type 46) and its corresponding enum values. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Signed-off-by: Abdul Lateef Attar --- MdePkg/Include/IndustryStandard/SmBios.h | 144 +++++++++++++++++++- 1 file changed, 140 insertions(+), 4 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/SmBios.h b/MdePkg/Include/Indu= stryStandard/SmBios.h index 2c2b32b8d462..62c96987aae2 100644 --- a/MdePkg/Include/IndustryStandard/SmBios.h +++ b/MdePkg/Include/IndustryStandard/SmBios.h @@ -1,9 +1,10 @@ /** @file - Industry Standard Definitions of SMBIOS Table Specification v3.3.0. + Industry Standard Definitions of SMBIOS Table Specification v3.5.0. =20 Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.
(C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
(C) Copyright 2015 - 2019 Hewlett Packard Enterprise Development LP
+Copyright (c) 2021, AMD Incorporated. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -94,6 +95,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #define SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE 42 #define SMBIOS_TYPE_TPM_DEVICE 43 #define SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFORMATION 44 +#define SMBIOS_TYPE_FIRMWARE_INVENTORY_INFORMATION 45 +#define SMBIOS_TYPE_STRING_PROPERTY_INFORMATION 46 =20 /// /// Inactive type is added from SMBIOS 2.2. Reference SMBIOS 2.6, chapter = 3.3.43. @@ -252,7 +255,9 @@ typedef struct { UINT8 TargetContentDistributionEnabled :1; UINT8 UefiSpecificationSupported :1; UINT8 VirtualMachineSupported :1; - UINT8 ExtensionByte2Reserved :3; + UINT8 ManufacturingModeSupported :1; + UINT8 ManufacturingModeEnabled :1; + UINT8 ExtensionByte2Reserved :1; } MBCE_SYSTEM_RESERVED; =20 /// @@ -1402,6 +1407,17 @@ typedef struct { UINT8 Reserved :1; ///< Set to 0. } MISC_SLOT_CHARACTERISTICS2; =20 +/// +/// System Slots - Slot Height +/// +typedef enum { + SlotHeightNone =3D 0x00, + SlotHeightOther =3D 0x01, + SlotHeightUnknown =3D 0x02, + SlotHeightFullHeight =3D 0x03, + SlotHeightLowProfile =3D 0x04 +} MISC_SLOT_HEIGHT; + /// /// System Slots - Peer Segment/Bus/Device/Function/Width Groups /// @@ -1447,6 +1463,10 @@ typedef struct { UINT8 SlotInformation; UINT8 SlotPhysicalWidth; UINT16 SlotPitch; + // + // Add for smbios 3.5 + // + UINT8 SlotHeight; ///< The enumerati= on value from MISC_SLOT_HEIGHT. } SMBIOS_TABLE_TYPE9; =20 /// @@ -2007,7 +2027,9 @@ typedef enum { PointingDeviceInterfaceADB =3D 0x08, PointingDeviceInterfaceBusMouseDB9 =3D 0xA0, PointingDeviceInterfaceBusMouseMicroDin =3D 0xA1, - PointingDeviceInterfaceUsb =3D 0xA2 + PointingDeviceInterfaceUsb =3D 0xA2, + PointingDeviceInterfaceI2c =3D 0xA3, + PointingDeviceInterfaceSpi =3D 0xA4 } BUILTIN_POINTING_DEVICE_INTERFACE; =20 /// @@ -2511,7 +2533,13 @@ typedef enum{ OnBoardDeviceExtendedTypeSound =3D 0x07, OnBoardDeviceExtendedTypePATAController =3D 0x08, OnBoardDeviceExtendedTypeSATAController =3D 0x09, - OnBoardDeviceExtendedTypeSASController =3D 0x0A + OnBoardDeviceExtendedTypeSASController =3D 0x0A, + OnBoardDeviceExtendedTypeWirelessLAN =3D 0x0B, + OnBoardDeviceExtendedTypeBluetooth =3D 0x0C, + OnBoardDeviceExtendedTypeWWAN =3D 0x0D, + OnBoardDeviceExtendedTypeeMMC =3D 0x0E, + OnBoardDeviceExtendedTypeNvme =3D 0x0F, + OnBoardDeviceExtendedTypeUfc =3D 0x10 } ONBOARD_DEVICE_EXTENDED_INFO_TYPE; =20 /// @@ -2650,6 +2678,112 @@ typedef struct { UINT32 OemDefined; } SMBIOS_TABLE_TYPE43; =20 +/// +/// Firmware Inventory Version Format Type (Type 45). +/// +typedef enum { + VersionFormatTypeFreeForm =3D 0x00, + VersionFormatTypeMajorMinor =3D 0x01, + VersionFormatType32BitHex =3D 0x02, + VersionFormatType64BitHex =3D 0x03, + VersionFormatTypeReserved =3D 0x04, /// 0x04 =E2=80=93 0x7F are reser= ved + VersionFormatTypeOem =3D 0x80 /// 0x80 - 0xFF are BIOS Vendor/O= EM-specific +} FIRMWARE_INVENTORY_VERSION_FORMAT_TYPE; + +/// +/// Firmware Inventory Firmware Id Format Type (Type 45). +/// +typedef enum { + FirmwareIdFormatTypeFreeForm =3D 0x00, + FirmwareIdFormatTypeUuid =3D 0x01, + FirmwareIdFormatTypeReserved =3D 0x04, /// 0x04 =E2=80=93 0x7F are = reserved + InventoryFirmwareIdFormatTypeOem =3D 0x80 /// 0x80 - 0xFF are BIOS Ven= dor/OEM-specific +} FIRMWARE_INVENTORY_FIRMWARE_ID_FORMAT_TYPE; + +/// +/// Firmware Inventory Firmware Characteristics (Type 45). +/// +typedef enum { + CharacteristicsUpdatable =3D 0x00, + CharacteristicsWriteProtected =3D 0x01, + CharacteristicsReserved =3D 0x02 /// 0x02 - 0x0F are reserved +} FIRMWARE_INVENTORY_CHARACTERISTICS; + +/// +/// Firmware Inventory State Information (Type 45). +/// +typedef enum { + FirmwareInventoryStateOther =3D 0x01, + FirmwareInventoryStateUnknown =3D 0x02, + FirmwareInventoryStateDisabled =3D 0x03, + FirmwareInventoryStateEnabled =3D 0x04, + FirmwareInventoryStateAbsent =3D 0x05, + FirmwareInventoryStateStandbyOffline =3D 0x06, + FirmwareInventoryStateStandbySpare =3D 0x07, + FirmwareInventoryStateUnavailableOffline =3D 0x08, +} FIRMWARE_INVENTORY_STATE; + +/// +/// Firmware Inventory Information (Type 45) +/// +/// The information in this structure defines an inventory of firmware +/// components in the system. This can include firmware components such as +/// BIOS, BMC, as well as firmware for other devices in the system. +/// The information can be used by software to display the firmware invent= ory +/// in a uniform manner. It can also be used by a management controller, +/// such as a BMC, for remote system management. +/// This structure is not intended to replace other standard programmatic +/// interfaces for firmware updates. +/// 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; + /// + /// zero or n-number of handles depends on AssociatedComponentCount + /// handles are of type SMBIOS_HANDLE + /// +} SMBIOS_TABLE_TYPE45; + +/// +/// String Property IDs (Type 46). +/// +typedef enum { + StringPropertyIdNone =3D 0x0000, + StringPropertyIdDevicePath =3D 0x0001, + StringPropertyIdReserved =3D 0x0002, /// Reserved 0x0002 - 0x7FFF + StringPropertyIdBiosVendor =3D 0x8000, /// BIOS vendor 0x8000 - 0xBFFF + StringPropertyIdOem =3D 0xC000 /// OEM range 0xC000 - 0xFFFF +} STRING_PROPERTY_ID; + +/// +/// This structure defines a string property for another structure. +/// This allows adding string properties that are common to several struct= ures +/// without having to modify the definitions of these structures. +/// Multiple type 46 structures can add string properties to the same +/// parent structure. +/// +typedef struct { + SMBIOS_STRUCTURE Hdr; + SMBIOS_HANDLE RefHandle; + UINT16 StringPropertyId; + UINT8 StringPropertyValue; + SMBIOS_HANDLE ParentHandle; +} SMBIOS_TABLE_TYPE46; + /// /// Inactive (Type 126) /// @@ -2714,6 +2848,8 @@ typedef union { SMBIOS_TABLE_TYPE42 *Type42; SMBIOS_TABLE_TYPE43 *Type43; SMBIOS_TABLE_TYPE44 *Type44; + SMBIOS_TABLE_TYPE45 *Type45; + SMBIOS_TABLE_TYPE46 *Type46; SMBIOS_TABLE_TYPE126 *Type126; SMBIOS_TABLE_TYPE127 *Type127; UINT8 *Raw; --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83386): https://edk2.groups.io/g/devel/message/83386 Mute This Topic: https://groups.io/mt/86838869/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-