From nobody Sat May 4 05:32:34 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.12 as permitted sender) smtp.mailfrom=bounce+27952+55106+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1582957778361699.9421721547731; Fri, 28 Feb 2020 22:29:38 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id txScYY1788612xwvmP9eV0Ta; Fri, 28 Feb 2020 22:29:37 -0800 X-Received: from NAM10-MW2-obe.outbound.protection.outlook.com (NAM10-MW2-obe.outbound.protection.outlook.com [40.107.94.52]) by mx.groups.io with SMTP id smtpd.web11.19092.1582915560973933304 for ; Fri, 28 Feb 2020 10:46:01 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bg1dgngspNEjxZQIeIzUUP6232m4IMRq1qexOuy9TvqDyG4+9Fk4LGjvAr1VxC/84PkeFPgkd+O/VDjhxP5AAK0mes03xGKp+Te7dUZys9eS3t4MGyohS27aI5dhsUMYLBOexVS8EgfKfyeuxB79RWNGMj0sfQ2XSzmmAYUpW7LOR6w9/wJ1JkQAzZkHWdtRPpQsrS2Wi6mrGdweN/I0M2yAf8btGp6YrchgW/iEGd5o3QhH5XYoT2W0hTwM85F+sgxogxFxsj9PLSyEUhNxwU4eYVICz7Baioix1OdxiIfgFE6t3IZOXyYB7rnywVLdqIkei45gwSNpuNRaPeBcFw== 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-SenderADCheck; bh=hmxd8Y0DKGrhmxQR3MDyvqYGeLh4BCWegTR+ZCJ8BJg=; b=RsjYe/0frlFzDOfB6DX38OGDX8vzYyL11kS98ZFyZ3Vjx1Qa7JyYjQ6I1FKcd9C5KfSiSTDRdD/WburRU37ldp9YdOAUkzGCUoPVzTKNyTXp45euR/wq/A4WvelO1S61QDPBPBBpea1jZJo4evU1+WFOlZQhUmYjZy8EuDNn95Y0bWq8oo5CN9RW1YzSecPiLEUz9LYdftqKVBvrx0+BVZwiFLcIp//Grt6ROpmQbQbD0RzS4FZ/MUdK3HUJE5yjWmQcdoow/R9VW0wFuD4kxU/fndaGrqGrPA9tFkYJw3HR9cjvTXpzLeX+ZMOM2yTaP0P8c6OqRZACsztJSBIQyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none X-Received: from BN6PR12MB1922.namprd12.prod.outlook.com (2603:10b6:404:106::14) by BN6PR12MB1778.namprd12.prod.outlook.com (2603:10b6:404:106::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.14; Fri, 28 Feb 2020 18:45:59 +0000 X-Received: from BN6PR12MB1922.namprd12.prod.outlook.com ([fe80::d931:1942:a6b5:d74c]) by BN6PR12MB1922.namprd12.prod.outlook.com ([fe80::d931:1942:a6b5:d74c%7]) with mapi id 15.20.2772.018; Fri, 28 Feb 2020 18:45:59 +0000 From: Leo Duran To: devel@edk2.groups.io Cc: Leo Duran , Eric Dong , Ray Ni , Laszlo Ersek Subject: [edk2-devel] [PATCH] UefiCpuPkg/MpInitLib: Skip reading PlatformId on AMD processors. Date: Fri, 28 Feb 2020 12:45:42 -0600 Message-Id: <1582915542-28940-2-git-send-email-leo.duran@amd.com> In-Reply-To: <1582915542-28940-1-git-send-email-leo.duran@amd.com> References: <1582915542-28940-1-git-send-email-leo.duran@amd.com> X-ClientProxiedBy: DM5PR22CA0008.namprd22.prod.outlook.com (2603:10b6:3:101::18) To BN6PR12MB1922.namprd12.prod.outlook.com (2603:10b6:404:106::14) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-Received: from leduran-Precision-WorkStation-T5400.amd.com (165.204.78.2) by DM5PR22CA0008.namprd22.prod.outlook.com (2603:10b6:3:101::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.20.2772.14 via Frontend Transport; Fri, 28 Feb 2020 18:45:58 +0000 X-Originating-IP: [165.204.78.2] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 4455edd4-e704-4f68-1888-08d7bc7e73fb X-MS-TrafficTypeDiagnostic: BN6PR12MB1778:|BN6PR12MB1778: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+55106+1787277+3901457@groups.io; helo=web01.groups.io; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info: pzAKeoj+J39H4KosLsXcFoT4LaN8bwvM/FVBl/K6PPtwsXP74cSPX2iQ9eB+vJ8xtKM6ck1jnRGqdc/89n5+p22OkjmYWSJYwfqJNIJq9qHo1tLcBWP+z9Tzr9JsA4p/jmOlKZ4M02SEocsS3L8EcDFyNUNv/xExPShT3hvzvRXT4mMph3FGTnxj2LmMn52anslEufppdtTQMoYHSOjBVmEzSnrt1pdxfCpIMzPGZslsxheElV0RRoxd4aCrp/Zue5WeOzKUqtoEUD4dU/0zoSdFlmBbDYgAyj9F1CoUHiPgsZR9JMx/HMPR6+sb/GPPScVBtCdwUT52lMxktPB4MIi8Dks2qe0g4GUWejvId/DZm8JAdI+eUKPt0EIHpnAxO19W2BE8dETaFSg/OWUD5cQ2xB6VFIj5WDFLLsFKaEw8YlRVFShQ1nsi71F4x16Z1+e1cu/4r65Be8YKVnqQ94lV/dCjBWXQ3yn/Mh9RdXpYhaBhQ4vFPHORV8X/cVePvyNfam3R3UHvr16ZFly0uw== X-MS-Exchange-AntiSpam-MessageData: sROAuFoZHbrakzVfh0iSsX4VCvdEkA0Z9FKiR8Jr5ctP+hUaUBAZquIgGmnZzVNUGqNF/Zf93+NLGxiRGepa/aiI51DlZ3uGrbhUFEoMzXKb/sSVuH2Ik4xzTNmr5vP+x20gEQphfijREF7joLzwQA== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4455edd4-e704-4f68-1888-08d7bc7e73fb X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2020 18:45:59.6890 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: u6atBrVW81Fr4Mv9K385yzKzOtV7OvIQKp6stB8YgOZUYEsGE240+pBGTL5nHiQK X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1778 Precedence: Bulk List-Unsubscribe: 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,leo.duran@amd.com X-Gm-Message-State: r5kJfHIYIGyWAGvzCwhyc9bNx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1582957777; bh=pLcdm6+Z8V5XaG3WlnMLWLJXUpys10PkXi/9oQOz+T4=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=V16iTsm+uxms285J1Qi3LU15T0LEf8RBJEF6MkxOflJIvBw4ytwX7cmMvgWo2512rXW ebKLi3P3Bz0Bamh6CUQlogDOpYeXS4nNYRIV1PnlxWWW0m9URo/njNeVZlVr85JAVDR2o M7rzVHsiQbrwQZKOmDmY+lrKInRojwgp9mQ= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2556 This patch uses CPUID signature check to skip reading the PlatformId MSR, which is not implemented on AMD processors. The PlatformId is used for loading microcode patches, which is also not supported and AMD-based platforms. To mitigate the PlatformId dependency, PcdCpuMicrocodePatchAddress and PcdCpuMMicrodePatchRegionSize must be set to 0 (default value), in order to bypass microcode loading code paths. Cc: Eric Dong Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Leo Duran --- UefiCpuPkg/Library/MpInitLib/MpLib.c | 34 ++++++++++++++++++++++++++++++++= -- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpIn= itLib/MpLib.c index d0fbc17..d2200c3 100644 --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c @@ -2,6 +2,8 @@ CPU MP Initialize Library common functions. =20 Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.
+ Copyright (c) 2020, AMD Inc. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ @@ -10,6 +12,29 @@ =20 EFI_GUID mCpuInitMpLibHobGuid =3D CPU_INIT_MP_LIB_HOB_GUID; =20 + +/** + Determine if the standard CPU signature is "AuthenticAMD". + + @retval TRUE The CPU signature matches. + @retval FALSE The CPU signature does not match. + +**/ +BOOLEAN +StandardSignatureIsAuthenticAMD ( + VOID + ) +{ + UINT32 RegEbx; + UINT32 RegEcx; + UINT32 RegEdx; + + AsmCpuid (CPUID_SIGNATURE, NULL, &RegEbx, &RegEcx, &RegEdx); + return (RegEbx =3D=3D CPUID_SIGNATURE_AUTHENTIC_AMD_EBX && + RegEcx =3D=3D CPUID_SIGNATURE_AUTHENTIC_AMD_ECX && + RegEdx =3D=3D CPUID_SIGNATURE_AUTHENTIC_AMD_EDX); +} + /** The function will check if BSP Execute Disable is enabled. =20 @@ -564,8 +589,13 @@ InitializeApData ( CpuMpData->CpuData[ProcessorNumber].Waiting =3D FALSE; CpuMpData->CpuData[ProcessorNumber].CpuHealthy =3D (BistData =3D=3D 0) ?= TRUE : FALSE; =20 - PlatformIdMsr.Uint64 =3D AsmReadMsr64 (MSR_IA32_PLATFORM_ID); - CpuMpData->CpuData[ProcessorNumber].PlatformId =3D (UINT8) PlatformIdMsr= .Bits.PlatformId; + // + // NOTE: PlatformId is not relevant on AMD platforms. + // + if (!StandardSignatureIsAuthenticAMD ()) { + PlatformIdMsr.Uint64 =3D AsmReadMsr64 (MSR_IA32_PLATFORM_ID); + CpuMpData->CpuData[ProcessorNumber].PlatformId =3D (UINT8)PlatformIdMs= r.Bits.PlatformId; + } =20 AsmCpuid ( CPUID_VERSION_INFO, --=20 2.7.4 -=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 (#55106): https://edk2.groups.io/g/devel/message/55106 Mute This Topic: https://groups.io/mt/71626798/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-