From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.58]) by mx.groups.io with SMTP id smtpd.web08.2497.1639594052360809198 for ; Wed, 15 Dec 2021 10:47:33 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=2vBq80E3; spf=pass (domain: arm.com, ip: 40.107.22.58, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1SsidQoZDzp3SlKfEqAMuncD+heD7BuhSHYtFpT0/eo=; b=2vBq80E3Cgyj/JiqHD1Ormvp9qeoqJFrNM8XaHF2NdHvoyBvIYQfKLUhTea6T1U3nrTUUZG/lhGSsKc1Xa2s28RmNqIVRg+ndukfRG0X+lhfVpH3WKL+t8jHoleusyk0nuak+waE3EhGvco2GJl7iO+PUN0Hy+ohcFCxAmjZzsw= Received: from AM6PR05CA0009.eurprd05.prod.outlook.com (2603:10a6:20b:2e::22) by VI1PR0801MB2125.eurprd08.prod.outlook.com (2603:10a6:800:5b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.18; Wed, 15 Dec 2021 18:47:23 +0000 Received: from AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:2e:cafe::82) by AM6PR05CA0009.outlook.office365.com (2603:10a6:20b:2e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.16 via Frontend Transport; Wed, 15 Dec 2021 18:47:23 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT050.mail.protection.outlook.com (10.152.17.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.12 via Frontend Transport; Wed, 15 Dec 2021 18:47:23 +0000 Received: ("Tessian outbound 157533e214a9:v110"); Wed, 15 Dec 2021 18:47:22 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b71483585e7aa64c X-CR-MTA-TID: 64aa7808 Received: from 15d15a1ffc89.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id FE592110-A8CE-4834-8292-DEB17DBFE479.1; Wed, 15 Dec 2021 18:47:10 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 15d15a1ffc89.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 15 Dec 2021 18:47:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WHRnJGqDNpCOA6VMY8W/87RcqtrAi1/TPZKGKl0qzWO5pB09o4j8Umk7/bY8rMq7FQ28qqYIAyWc42WebSdsY5KFeWV7hvSg0OwRJLVR/b/kY3rlA6vkUaBA5MNrK2LM9JsRb92BIwZJ9ESqOEDWtRM/8optJ7jfcT0gFUEPS4r33Ymq3qhzkgFvY3hZt/G7D/a6x/HXRJMGlgwb3xXPaAlXQMYHer0lsWU6M7AI4yVSlIznCw3Mnk4IaEZm/G6bds52F+aHRRA2dCMoHWt5eCFgIU+xedINc0qhcrJ0+XSckoeAxKgzBAL5xDuRtrC+aC7dg3vHmDqkbSDcX7veRw== 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=1SsidQoZDzp3SlKfEqAMuncD+heD7BuhSHYtFpT0/eo=; b=VBpIn6d3/fDbD3T13UBPOXit2+pzGQngUvO1ta559Bgr2ei9gEUktK1P00XSclqHHf8K3DK+7gnFylxptIQHOHegwRxjHPS62+nkgvNHMYsSkQwLydPWdje+h/Qv6hJ7fE81NpMG3tsOc2WXNg+841BC6tIRiZHiJyHt70UWQBWbJPfjMk5gfmDXOATfBOzCrlzvs9G8q7+jqEVeYVR67HmKPpQVvTBoSxnaVF+RaSSC8WKc9ctqLrimGZ/QTTDTE0esN6pwPgPfRIl8BEVSBQebW9OI6cfWaYJF0z8v9Pm54EysYMp44C3yKaIvbVAtCC7dEN9ft9XJmUT1NWqv+w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1SsidQoZDzp3SlKfEqAMuncD+heD7BuhSHYtFpT0/eo=; b=2vBq80E3Cgyj/JiqHD1Ormvp9qeoqJFrNM8XaHF2NdHvoyBvIYQfKLUhTea6T1U3nrTUUZG/lhGSsKc1Xa2s28RmNqIVRg+ndukfRG0X+lhfVpH3WKL+t8jHoleusyk0nuak+waE3EhGvco2GJl7iO+PUN0Hy+ohcFCxAmjZzsw= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM6PR08MB2982.eurprd08.prod.outlook.com (2603:10a6:209:43::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4778.17; Wed, 15 Dec 2021 18:47:01 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::bdcf:cfa6:b2bb:38ac]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::bdcf:cfa6:b2bb:38ac%6]) with mapi id 15.20.4755.021; Wed, 15 Dec 2021 18:47:01 +0000 Subject: Re: [edk2-devel] [PATCH 3/3] ArmPkg/ProcessorSubClassDxe: Get serial and part number from OemMiscLib To: devel@edk2.groups.io, nhi@os.amperecomputing.com Cc: patches@amperecomputing.com, Leif Lindholm , Ard Biesheuvel , Rebecca Cran , nd References: <20211201041031.31824-1-nhi@os.amperecomputing.com> <20211201041031.31824-4-nhi@os.amperecomputing.com> From: "Sami Mujawar" Message-ID: <51d23b78-a05a-7c48-4931-f12378e3989b@arm.com> Date: Wed, 15 Dec 2021 18:47:06 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20211201041031.31824-4-nhi@os.amperecomputing.com> X-ClientProxiedBy: LO4P123CA0046.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:152::15) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 Received: from [10.1.196.43] (217.140.106.50) by LO4P123CA0046.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:152::15) with Microsoft SMTP Server (version=TLS1_2, cipher=) via Frontend Transport; Wed, 15 Dec 2021 18:47:00 +0000 X-MS-Office365-Filtering-Correlation-Id: 4575e029-b201-4a65-7d60-08d9bffb54d7 X-MS-TrafficTypeDiagnostic: AM6PR08MB2982:EE_|AM5EUR03FT050:EE_|VI1PR0801MB2125:EE_ X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:1227;OLM:1227; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: +gzW276RV213QBatKUafSh9WdnIjptM3Eb6p2nKxT9CCM9NTW5Bm8ja8eC7+Ela/7A1/CnCo06hLMPIQ8lYIf9cVkboxJHuhBiKOdYicIcKv19wGuOOjlbJJusNn6GiIfh0Wgc/sxhx6thM+89tbzJHOaw+oaqWhNlnXVbzEO7hfk9yaK01x23bToIBi6ME4Ax24pPbVp9DzDx6qdpYS0py2BINnUS062sb+J88iAzhK1HlLrd7bMr6FCCDs3kXoL4XMVC8/dXrpuYx9gHQapehiJ1w2pBhDOFXXAxKaL3hjwnPb5jaCNE1z4IClV7DmtvZWxCifCV0hs/64u1oLIl8xAj5IGaazzyX8CEDxMsPm3ATZmCNwbo5YKhdPKpwok5Sg0VZMUhOovb3blfF2g736gpQyr5X4goHc2Lhzc6yYcmfauSAHol/BcAS7W0X8ojYUgrfj+VIb6uRF+uTPi76PMEQ9hvrzPrt25IGhf09CQRD3A2LZLZCwbjW2G3uszuP+z9EQOvKehsDCVdHs6nycFurDMf9lBwCs1eRK5Sw1xBJwItS8e0toa8lWFDsvMzaohIa0IapqN6K+9mk7uTM8I5xvQ+jSJ5grh3v2f4FwmMp1hs5qZV+Uizj30p83TVGG5QTj74CUdfW+JxhOqSWRbiz9/TNICELW7BTNTioIWM11vGdcxpSl7KExs75gsXxn6z1/0qYmQKYLYcZmvqltUEjpGu4MrYIFCAIwxMad4SlxlMqWM47f0dHKQ2qtApBTI6mm1heHXxrCPs1wTw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(54906003)(186003)(83380400001)(66556008)(66476007)(66946007)(8936002)(19627235002)(53546011)(508600001)(6486002)(31696002)(86362001)(52116002)(2906002)(36756003)(26005)(2616005)(956004)(16576012)(8676002)(38100700002)(38350700002)(316002)(31686004)(44832011)(5660300002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB2982 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 90f00ec1-f8a0-4107-17de-08d9bffb4772 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AVcg5h3JjCsdOUX9LLnK2zwoXN1LVOcFMj5cHpp6ZFKa/Co42liDxIXp0q5X23HdIQDBKCc0af0wJexFCB1W6jWRTlkyA20G41eU0lg6pmOKyL+/Ky1DC1C6NDyoB2QTMVOvjKV3LSlnxebQaVBJz5bVCtZca/szNj2LC1dLXMclCcfEtlc6Ak66jnCrl1SDmv3kDsiDJysr5dWKU6jR/bcmSz4f3DHJNR5SNZNa4ny/Hg/6ftOum4ck0j1yljOer0PQHFWeXQDYyX8unCB2Z6o3mOkQQCO+VeRYCkW8mWgY1Yka1YKvsqKAaTKVAXjtKNyUhx7rDcEX+SMkrV3dvDaM0ku5RrO4dNr8qkUWVpxsPdEOjPBrJxJU19YpGPuIvinKn45anulyy32shsNS8M3B0Fs10tA1umQYPMThzahbf32FcXZhch434mYXd5j4wrn0McPA2s403ijGKZjiPXUS1fhxsHTPf+6yMF/TnbyZlFyv+EQrMBPRa1pQbyc4xSEUV8xYKxIaDoWyFHKERPcvnrigIcNMiQrl4UEPYLZo8pvHlBEqXLmLtVvVNKoYgN9hLU9iKYLQKcHjvdJYPDQojj9Eod4hPAAcANUXF+qKIpqZgF6kgSmXN2+5DoXkqWRN6UaNQeeFafhrP3ab0Xt3al2sZ6Mem54Px1qwttj8nzgln2GrJpN2P6T6itC2cNGCv6ZubqfKNFpuidxUjdvFJivIsHTwdRWGtjZPoLHme6jdA+X6gmA9J5WmQotFwV/25E87vJA+rgpUDPNuVfi0zwinriCD45ORFsTz3kc= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(40470700001)(81166007)(26005)(31696002)(36756003)(2906002)(356005)(2616005)(31686004)(44832011)(82310400004)(4326008)(336012)(508600001)(186003)(53546011)(40460700001)(956004)(47076005)(54906003)(83380400001)(86362001)(8676002)(8936002)(36860700001)(70586007)(16576012)(6486002)(316002)(70206006)(19627235002)(5660300002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2021 18:47:23.0111 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4575e029-b201-4a65-7d60-08d9bffb54d7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2125 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Hi Nhi, I have a minor suggestion to use FixedPcdGetPtr(), other than that this patch looks good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 01/12/2021 04:10 AM, Nhi Pham via groups.io wrote: > Currently, the serial and part number of a processor are filled with > fixed PCDs. However, they may be updated dynamically according to the > information being passed from a the pre-UEFI firmware during booting. > So, this patch is to support updating these string fields from > OemMiscLib if the PCDs are empty. > > Cc: Leif Lindholm > Cc: Ard Biesheuvel > Cc: Rebecca Cran > Signed-off-by: Nhi Pham > --- > ArmPkg/Include/Library/OemMiscLib.h | 2 ++ > ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c | 14 ++++++++++++-- > 2 files changed, 14 insertions(+), 2 deletions(-) > > diff --git a/ArmPkg/Include/Library/OemMiscLib.h b/ArmPkg/Include/Library/OemMiscLib.h > index aa68c0a92632..5f0effa9cc17 100644 > --- a/ArmPkg/Include/Library/OemMiscLib.h > +++ b/ArmPkg/Include/Library/OemMiscLib.h > @@ -60,6 +60,8 @@ typedef enum > ChassisTypeType03, > ManufacturerType03, > SkuNumberType03, > + ProcessorPartNumType04, > + ProcessorSerialNumType04, > SmbiosHiiStringFieldMax > } OEM_MISC_SMBIOS_HII_STRING_FIELD; > > diff --git a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c > index fb484086a457..8d884d313bd4 100644 > --- a/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c > +++ b/ArmPkg/Universal/Smbios/ProcessorSubClassDxe/ProcessorSubClass.c > @@ -493,9 +493,19 @@ AllocateType4AndSetProcessorInformationStrings ( > > SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorManufacturer, ProcessorManu); > SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorVersion, ProcessorVersion); > - SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorSerialNumber, SerialNumber); > SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorAssetTag, AssetTag); > - SET_HII_STRING_IF_PCD_NOT_EMPTY (PcdProcessorPartNumber, PartNumber); > + > + if (StrLen ((CHAR16 *)PcdGetPtr (PcdProcessorSerialNumber)) > 0) { > + HiiSetString (mHiiHandle, SerialNumber, (CHAR16 *)PcdGetPtr (PcdProcessorSerialNumber), NULL); [SAMI] Can FixedPcdGetPtr() be used here instead of PcdGetPtr()? > + } else { > + OemUpdateSmbiosInfo (mHiiHandle, SerialNumber, ProcessorSerialNumType04); > + } > + > + if (StrLen ((CHAR16 *)PcdGetPtr (PcdProcessorPartNumber)) > 0) { > + HiiSetString (mHiiHandle, PartNumber, (CHAR16 *)PcdGetPtr (PcdProcessorPartNumber), NULL); > + } else { > + OemUpdateSmbiosInfo (mHiiHandle, PartNumber, ProcessorPartNumType04); > + } > > // Processor Designation > StringBufferSize = sizeof (CHAR16) * SMBIOS_STRING_MAX_LENGTH;