From nobody Tue Feb 10 15:29:42 2026 Delivered-To: importer@patchew.org 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+92672+1787277+3901457@groups.io; helo=mail02.groups.io; 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+92672+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1661252533702445.24537529829445; Tue, 23 Aug 2022 04:02:13 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id SGvgYY1788612xXK1ZG127Rk; Tue, 23 Aug 2022 04:02:13 -0700 X-Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.116]) by mx.groups.io with SMTP id smtpd.web11.29904.1661252532481351663 for ; Tue, 23 Aug 2022 04:02:12 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZdWwHsg4BrHEN3wdhJQ+Pxe49HFafBRbj8WD+xUhLlF11F8VsrqJrVC9H6fCsQ/P/o69nRnby6lF9Pxy095etruJRcz5PK85ECqVb7ZEYZzqhkylYFen4EUkx5zzy1VahMb82y5vPaPKmNdIvyjJP0pWBxHlRem9LR/n/l5/GWzcQYVBCVLp086zOv9bYtB2RAiUG/EV7wpRF6VJ1c7/hW3IvmT4ub2+fg5xiCpatNd2Y0RMDfZQODeifduIdU8qHMVznh4lQFpsByfFLS+Qf2A+dW5bbovdsv0stOCoq8Pd/L5+sUeju7TcsqbcNhG3QaJjPbap8MOfMW4/yPh8bA== 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=ecqN3kTZ7WHgPfuRgiGxMMrqN4fjNndd/aGaFJ0mMzE=; b=AR3ROOaEH530jrNpjhm1fM2kywsnmKinJ8AuK6b6VBMN5ClwNP74COvCM9puyWpiOwtjQAE1PHMv57ENeCKQIFk1ABHuMTktWFBz6sxkNPdZpShgyVof3QHkyXyz9tKZTglMzYO8YV+bI8BNd+5M8+yqb+OFBLTxGakflFx399tF+FptzBGJYdGq7WmPPi8Og43XeEK/jrRaPmQYAjFsXXFT0MjlWy3EKlb+2uiAKbwKM/hNeyC1Lebyuv0PAmouPWK/AlnCwr4xyfvtIl7ezTekqNkyrCm1NsrxzYXiMzZubOhEzmmaA562Yk0vIeFf20p1X+0SA1A3grb3rVgt8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by SJ0PR01MB6430.prod.exchangelabs.com (2603:10b6:a03:297::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.14; Tue, 23 Aug 2022 11:02:10 +0000 X-Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::bceb:a82f:b3ef:53b9]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::bceb:a82f:b3ef:53b9%5]) with mapi id 15.20.5546.022; Tue, 23 Aug 2022 11:02:10 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io, quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, sami.mujawar@arm.com, quic_rcran@quicinc.com Cc: patches@amperecomputing.com, Minh Nguyen , Nhi Pham Subject: [edk2-devel] [PATCH 6/6] ArmPkg/SmbiosMiscDxe: Get SMBIOS information from OemMiscLib Date: Tue, 23 Aug 2022 17:59:26 +0700 Message-Id: <20220823105926.1379824-7-nhi@os.amperecomputing.com> In-Reply-To: <20220823105926.1379824-1-nhi@os.amperecomputing.com> References: <20220823105926.1379824-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: SI2P153CA0028.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::9) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0234d4e0-9791-40de-0d20-08da84f6ed5b X-MS-TrafficTypeDiagnostic: SJ0PR01MB6430:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: LAM9qhYUH5vGd8ai0Oo+/NdWIK2t5dEOVFvttLtBLfJUVyAAYBbT3rOnZxfAlWPgS/7u8Efg6vBSs5nLPEqQMcBnOTGjh6cLRFBbnd4b2y2pgux1IKthG6rXMaG5zII4NpP6RNhn++TcPBKOF1TcpNgNFBfTK3pn0XwSJJbLZpKyR4t7O1aaUxSmx5siYuMWu/J/Ix2RQ2TEFtnB/WzGK2FiDkxwrSQ7Rt0v2qUJWHTqRhGf6WK4wfqs6hrWGg+Jn+ZN57Iei5XjgNM+tqd4SkmouxtKZ8KgtoJZ2MR3PbVuprhtUZV0XU7c1kl2OwhjNvHGZDNCRMRPqflhL+IUnf8hlOz75tvvE7tp08wSlL5gBKArSxCl112lGT+Dcyz/RThncTIjjRhmaSPcRWCNU6TNrLYvPwV81vrKBy5RRnzuYAXD85mY2ChoBvYO/ph8ar898s3znT1wLzwz+iyWRwHcl3Ugzzt/hbVA4f00kxkSxu7zJ2gJPIhpQvzEcXUcVrg8dNtKMNletXlLtIfhDZHVvviglo4OPWpWTuFptnLhQJ+sQb9mcvIBonu2ANu9jSOc9CzLyLziQCpfhsISElcAhFFgWcdaXjxCDXp/uR8VAQUETdgS9wujJH9yGvjczb02adSfICMT1Gxe1i5ez/E6RD2efxbMJm5nz9lBI2baag3YxdgUmLWtsP1yobmWy9C14fR4W+mmMUAth561ok/MMqRlRRVzvmvsywWQMsnhFdRcUq55EVI3dNyANLzxZ+ATS/5G0xGATxbJcK6evWc2O2w2o3N9YQpSxxE0gu0= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wF1dgovyx6kla1yqpM92kZJQCy8wgaKB7rRxQynR0LqaMnkoZMGsm0p3D8Dh?= =?us-ascii?Q?hhhKnd5w3mKab4v9ujGm6UGZ5xbFmgcJdb3kDxPIUpHjKxvDCqXUGlYi06F+?= =?us-ascii?Q?WbthLSPF1a4wa/D53+OhH+0pfevhFiBgJweswfvfP6qV3XhmZVcOiU9ineoa?= =?us-ascii?Q?WG69SICrdKQnKNc8HnDGGIK53xjYv/XcEQJIjxuh2V3ofuMNn5d/pFAam3bG?= =?us-ascii?Q?pte8bm8R8dcxuckkTt5GpHoJipkO5uDVhgg0fo4RkFHjdhbQfRpQWRupI255?= =?us-ascii?Q?vQLPUGQ5oMc0IZKlk/pzJigTnJnSQ7V0ioUvaIV7wXdqaaJDB7iNs3IUUXWL?= =?us-ascii?Q?ud2KIPpQg5b6HYimrclNzV2f21v82Mpw4HU5bFBxI5cSc/ZeaHnTu1yfDOob?= =?us-ascii?Q?/ingJqyGlLrKv+TccsAM33e3/uApvvYbVy2ust8SP4stwY5qMfNj3vTRy2/b?= =?us-ascii?Q?WEAjWfx2szbvIjSbO6UJbWwvqSfOZMWLLl1ZlWsOJgWjsjK12lgc5po1Cdtf?= =?us-ascii?Q?CbnExArOXNl/6ylYIc9XTt/n0sjH9B3DataXVKhXrV0sI2n4cG34HNdY63hf?= =?us-ascii?Q?+VstH44eTkNr6MofAVVJiGGYtMayX2CQmICWvyUQePja3dsJrPPK6/1jgk3R?= =?us-ascii?Q?MOTpELT4hHrr1KXZ42aRS/rVbCplhVdoQwDIuooBvP/zpzVjqrA2+GOI/YbF?= =?us-ascii?Q?UtR6dG5ZcGqNT6RZ7w+p9ZClHtAqb4Lo7QVZ8aTf1JZKX0SqcyYBxjtX0rdn?= =?us-ascii?Q?pwePykp7H3iFD0YvnnNg/OrKUQhAuYBXy+wNFq65C7xsphIGrwv4t5ThnvvV?= =?us-ascii?Q?XH6fyudJpgfrHAvmL+hahXmY5AYJeBpcvgRH1BzUCDdaTvL2Ojewhs/xTeHT?= =?us-ascii?Q?5/31aFXkv4rN9t2VkwU/IJ7bJ1aGQNH7JMvdR/J5vIX5uqyAr/Srcj8A2dDu?= =?us-ascii?Q?tyNJL5oG1LNtLx5WhCN2m+kni4Cfme0jlNHZEAWzTTvKtRr8IBJWOxXq04sI?= =?us-ascii?Q?DOBvl/SiRSUG3JAEo5Y4yyPodskCGdoDFEwitQRs0Mr3leL0Y5ih76ulN99m?= =?us-ascii?Q?cAcBQHbRQ7yypE1FIipNi7BaT+95UCS3Wsgt3vo6iU942k+xWAcho70dpEcL?= =?us-ascii?Q?aIjesswazfsm2nxzLCZZQUs/adnsPeYdF+mxTmRojaC4UyxugqSoFjmbiaiS?= =?us-ascii?Q?i215thaNKxIW15oehpP0XDHKnmdfrC0RIBbizLbbBqRbRZ2cI3DIo92Bm8rf?= =?us-ascii?Q?D8/lH3nDc98KhP4mpgoPi8r871p/BWt3bAVoqSWmY0hECnOKd0jeYfhXzK6e?= =?us-ascii?Q?3AjQeFPW5OxS2ihowaf/9wp6bjklFK4ZpnrfHn3TPMDGtsDKH5gbvcMjcVRc?= =?us-ascii?Q?F/qq+s58+S8nnTmcdOnDUDZx7V+QQrGfaNIsakGQeBJl/cxkmj+5VK0MlCxn?= =?us-ascii?Q?fh/D4jVDP7pStlyOFT7Z/3IC1tP6hNlcBUjvrRFOpr5Te1oHLV/uTBZ5ghM+?= =?us-ascii?Q?4WdVanCw+ZgI4TJnM87+7fqoEbNYUYlOCPKtjhyn4I4sJsg6H0OPqAut+6sx?= =?us-ascii?Q?BJVkqpDz2057qg0awmWCvDEZ1QI5/vr21D1TcVt6OUCu+U66TmbJzYOfNxiY?= =?us-ascii?Q?A4dPzF1K3Ic9qf2Wgil/6yQ=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0234d4e0-9791-40de-0d20-08da84f6ed5b X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Aug 2022 11:02:10.7678 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WhfT144ecMTS7NVnDCeGhn5PlUbcYazisxNLi3GOh5Rxx8Gy4SzxL8uGJmKpR/eruX3SXznnARkdDSbjFkEosAw1+XMYU7HFf+MuvfW+QrU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR01MB6430 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,nhi@os.amperecomputing.com X-Gm-Message-State: iEbHdevgY1N3CyiD1zGuzXvtx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1661252533; bh=UlPA5kiBneHVdk1J9Jp9g2Yx6QFGX31rX8YW0380ZTY=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=WP0JpqiLf/MT/FB0PfyC22eGyqRmMiaCxhuNfwVarvU2hs4Bj+qZFlPGuu8ktZJe6CK y1DD7cxEUDu8FpaeemhXxj24dIHeeazsnG/9lRRRRyo1JIuwTZiFDOEI19agvMoQi215h fJv9BtdMohxrJzZM24WGltHmXk1X4ikU3hA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1661252535512100019 Content-Type: text/plain; charset="utf-8" From: Minh Nguyen In some scenarios, the information of Bios Version, Bios Release and Embedded Controller Firmware Release are fetched during UEFI booting. This patch supports updating those fields dynamically when the PCDs are empty. Signed-off-by: Nhi Pham Reviewed-by: Sami Mujawar --- ArmPkg/Include/Library/OemMiscLib.h | 21= +++++++++++++ ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c | 28= +++++++++++++++++ ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c | 32= +++++++++++++------- 3 files changed, 70 insertions(+), 11 deletions(-) diff --git a/ArmPkg/Include/Library/OemMiscLib.h b/ArmPkg/Include/Library/O= emMiscLib.h index 1936619d9b5b..541274999e5c 100644 --- a/ArmPkg/Include/Library/OemMiscLib.h +++ b/ArmPkg/Include/Library/OemMiscLib.h @@ -37,6 +37,7 @@ typedef struct { } OEM_MISC_PROCESSOR_DATA; =20 typedef enum { + BiosVersionType00, ProductNameType01, SerialNumType01, UuidType01, @@ -247,4 +248,24 @@ OemGetSystemUuid ( OUT GUID *SystemUuid ); =20 +/** Fetches the BIOS release. + + @return The BIOS release. +**/ +UINT16 +EFIAPI +OemGetBiosRelease ( + VOID + ); + +/** Fetches the embedded controller firmware release. + + @return The embedded controller firmware release. +**/ +UINT16 +EFIAPI +OemGetEmbeddedControllerFirmwareRelease ( + VOID + ); + #endif // OEM_MISC_LIB_H_ diff --git a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c b/ArmPkg/U= niversal/Smbios/OemMiscLibNull/OemMiscLib.c index 32f6d55c1a9a..788ccab9e8c1 100644 --- a/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c +++ b/ArmPkg/Universal/Smbios/OemMiscLibNull/OemMiscLib.c @@ -254,3 +254,31 @@ OemGetSystemUuid ( ASSERT (FALSE); CopyGuid (SystemUuid, &gZeroGuid); } + +/** Fetches the BIOS release. + + @return The BIOS release. +**/ +UINT16 +EFIAPI +OemGetBiosRelease ( + VOID + ) +{ + ASSERT (FALSE); + return 0xFFFF; +} + +/** Fetches the embedded controller firmware release. + + @return The embedded controller firmware release. +**/ +UINT16 +EFIAPI +OemGetEmbeddedControllerFirmwareRelease ( + VOID + ) +{ + ASSERT (FALSE); + return 0xFFFF; +} diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFun= ction.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFuncti= on.c index b49c4b754cab..e9106a8a2fec 100644 --- a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/Type00/MiscBiosVendorFunction.c @@ -1,5 +1,6 @@ /** @file =20 + Copyright (c) 2022, Ampere Computing LLC. All rights reserved.
Copyright (c) 2021, NUVIA Inc. All rights reserved.
Copyright (c) 2009, Intel Corporation. All rights reserved.
Copyright (c) 2015, Hisilicon Limited. All rights reserved.
@@ -13,6 +14,7 @@ #include #include #include +#include #include #include =20 @@ -191,11 +193,11 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) { TokenToUpdate =3D STRING_TOKEN (STR_MISC_BIOS_VERSION); HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL); } else { - Version =3D (CHAR16 *)PcdGetPtr (PcdFirmwareVersionString); - if (StrLen (Version) > 0) { - TokenToUpdate =3D STRING_TOKEN (STR_MISC_BIOS_VERSION); - HiiSetString (mSmbiosMiscHiiHandle, TokenToUpdate, Version, NULL); - } + OemUpdateSmbiosInfo ( + mSmbiosMiscHiiHandle, + STRING_TOKEN (STR_MISC_BIOS_VERSION), + BiosVersionType00 + ); } =20 Char16String =3D GetBiosReleaseDate (); @@ -251,13 +253,21 @@ SMBIOS_MISC_TABLE_FUNCTION (MiscBiosVendor) { } } =20 - SmbiosRecord->SystemBiosMajorRelease =3D (UINT8)(PcdGet16 (PcdSystemBios= Release) >> 8); - SmbiosRecord->SystemBiosMinorRelease =3D (UINT8)(PcdGet16 (PcdSystemBios= Release) & 0xFF); + if (PcdGet16 (PcdSystemBiosRelease) !=3D 0xFFFF) { + SmbiosRecord->SystemBiosMajorRelease =3D (UINT8)(PcdGet16 (PcdSystemBi= osRelease) >> 8); + SmbiosRecord->SystemBiosMinorRelease =3D (UINT8)(PcdGet16 (PcdSystemBi= osRelease) & 0xFF); + } else { + SmbiosRecord->SystemBiosMajorRelease =3D (UINT8)(OemGetBiosRelease () = >> 8); + SmbiosRecord->SystemBiosMinorRelease =3D (UINT8)(OemGetBiosRelease () = & 0xFF); + } =20 - SmbiosRecord->EmbeddedControllerFirmwareMajorRelease =3D (UINT16) - (PcdGet16 (PcdEmb= eddedControllerFirmwareRelease) >> 8); - SmbiosRecord->EmbeddedControllerFirmwareMinorRelease =3D (UINT16) - (PcdGet16 (PcdEmb= eddedControllerFirmwareRelease) & 0xFF); + if (PcdGet16 (PcdEmbeddedControllerFirmwareRelease) !=3D 0xFFFF) { + SmbiosRecord->EmbeddedControllerFirmwareMajorRelease =3D (UINT16)(PcdG= et16 (PcdEmbeddedControllerFirmwareRelease) >> 8); + SmbiosRecord->EmbeddedControllerFirmwareMinorRelease =3D (UINT16)(PcdG= et16 (PcdEmbeddedControllerFirmwareRelease) & 0xFF); + } else { + SmbiosRecord->EmbeddedControllerFirmwareMajorRelease =3D (UINT16)(OemG= etEmbeddedControllerFirmwareRelease () >> 8); + SmbiosRecord->EmbeddedControllerFirmwareMinorRelease =3D (UINT16)(OemG= etEmbeddedControllerFirmwareRelease () & 0xFF); + } =20 OptionalStrStart =3D (CHAR8 *)(SmbiosRecord + 1); UnicodeStrToAsciiStrS (Vendor, OptionalStrStart, VendorStrLen + 1); --=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 (#92672): https://edk2.groups.io/g/devel/message/92672 Mute This Topic: https://groups.io/mt/93201510/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-