From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web10.2072.1592353857183409588 for ; Tue, 16 Jun 2020 17:30:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=WBsnlXX5; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: eric.dong@intel.com) IronPort-SDR: irhQIXdplto4oyN/d2xZEE52Wz72KLXFZbisFGsYY7Ek1DS8EHb26pQqEaz3Dc+kb1UAuq84Ak ljVyi0TNnSAg== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2020 17:30:56 -0700 IronPort-SDR: twI6Q7TAui2gCcuZK/Ugn/VP1uLOmFH8N85aen81ahCi/o7v6HAsBoOn5xHMl9KyNf6/KCrD/u fMdeY8Aw+bUA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,520,1583222400"; d="scan'208";a="291247137" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 16 Jun 2020 17:30:56 -0700 Received: from fmsmsx163.amr.corp.intel.com (10.18.125.72) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 17:30:55 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx163.amr.corp.intel.com (10.18.125.72) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 17:30:55 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.169) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 16 Jun 2020 17:30:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iuOzDh6wRF/inuYhwYdK4erDSen8MDxI7gYjjH1QTsrH01uFRl146IVxo+3KBkcWzG90cI+XOBdIbhnogVrLqgF+OyjyfKOMEXOx9rhL67pRvzhSskVMV2uKFo+ozym5aFacXictuqTQch5vk1zfW0WFsdPpACg+cw/aw/5xuysDOiXH5pjJaw1qmN160MU5xcSLZG+rxob3477YV/p5fITqeg4nn3AdrrYz95plbtZIvxnFja6mDHT7rbL2tUw4vsd1nsh2DRD9n2mjiV3xexPCZh9tBqZBVFU+mhWzETNDXEk63H1zmrbcaAbrkERLSR5fSfNrMCUvPhW32WeQyA== 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=Q0zw0pQB8F7Qzgcc/L84y3hBKGPHfnL5IfhmynwnJkw=; b=KIW3F4ZJy7fJ0PiDDVWAI1+LDNv4Z9a39EspBX/n4CCw4Ys97P0Zf3rjPxhwFsgittCsRAiNz63dG/M5M+0CheduelXh/E1DLMmUWpK3HD/zRH1z7u8zZUcqXPKJaXO0fQ0xKA2ZibKTJpVoR2hTRK44i3FZvmUuR3giwh6VPW1p6xkzsjlM4R/PLw6y4M4krHKzAdnLWEtBBvHApOevchPQPD1rvmYc5lmPE1F/i+Urj1Z+CMPzUBlbPlAFEVfjclJROQNDD7GMfzMwPq+Bw99OmjBnRMAGlfBOGwkmyjOVgRpRxiN6I1dI6xnmYUowNwMOMklCOKpkHCtJIXo6Cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q0zw0pQB8F7Qzgcc/L84y3hBKGPHfnL5IfhmynwnJkw=; b=WBsnlXX5AUVoeCvSjcv+l/D4AAuhyAx8Gz7C3V/zKmHpknBs2AQF6/V97I41QiPWpchit3ChP1hSMlqTN2g2vFsoPSBxGfSS0abQQLmcTbvyR/Gl+d+h0enr4dFUJSxubVyO0I0JSdvUXEjvjRcTATcKxvUPTuxXTW2dodNgDOc= Received: from SN6PR11MB3278.namprd11.prod.outlook.com (2603:10b6:805:ba::10) by SN6PR11MB2928.namprd11.prod.outlook.com (2603:10b6:805:d8::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.19; Wed, 17 Jun 2020 00:30:46 +0000 Received: from SN6PR11MB3278.namprd11.prod.outlook.com ([fe80::b88e:4991:d34d:b260]) by SN6PR11MB3278.namprd11.prod.outlook.com ([fe80::b88e:4991:d34d:b260%7]) with mapi id 15.20.3088.028; Wed, 17 Jun 2020 00:30:46 +0000 From: "Dong, Eric" To: "devel@edk2.groups.io" , "garrett.kirkendall@amd.com" CC: "Ni, Ray" , Laszlo Ersek Subject: Re: [edk2-devel] [PATCH v1 1/2] UefiCpuPkg: Move StandardSignatureIsAuthenticAMD to BaseUefiCpuLib Thread-Topic: [edk2-devel] [PATCH v1 1/2] UefiCpuPkg: Move StandardSignatureIsAuthenticAMD to BaseUefiCpuLib Thread-Index: AQHWQ0Msn4X8Ks+PiEqgfzixH0D39Kjb9nkg Date: Wed, 17 Jun 2020 00:30:46 +0000 Message-ID: References: <20200615183029.4577-1-Garrett.Kirkendall@amd.com> <20200615183029.4577-2-Garrett.Kirkendall@amd.com> In-Reply-To: <20200615183029.4577-2-Garrett.Kirkendall@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fd50a670-7af1-43fd-aa63-08d81255ad71 x-ms-traffictypediagnostic: SN6PR11MB2928: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4941; x-forefront-prvs: 04371797A5 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: osk5uYwH3EO1WwYb47HF7OHa/JIx+r6fNpI7yE7vr9hU86zkKKKCNKZzARtcU8+0aUIxtUVJ2M/sX5Ky4SIPx/iG7AkNOoi6wg+1fjUv66No6XXQYZvTGjZwJ3aTr3FbTwfa5yHo1lXK8QebVl4NamVHHD6xGrBGq2WNA7BN5iKVLs3JFZQTIEt+TOBlcWpRpcSZZgbfgEkI0miJ2oCs49FDZWgoRLO5jeADiLyP3fPIgxwCaVYznqj2kkRBRitxVIo5mjaelpXMbCRjWCabHZb/1FMZV7bbg8mfS/dS82ZnLUqXUzzZPF5jhTh01Zo24jadmBNIW8Ilp4kBaIk5yBXi4K/RLRmlav6kicNY0cH507UMSqDaPMD6myA5DMN4q4YRCZNKZp1ri+k9NrA3PA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR11MB3278.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(6029001)(4636009)(396003)(39860400002)(136003)(346002)(376002)(366004)(66946007)(8676002)(2906002)(8936002)(66446008)(64756008)(86362001)(966005)(76116006)(83380400001)(66556008)(478600001)(4326008)(55016002)(9686003)(66476007)(71200400001)(52536014)(5660300002)(54906003)(53546011)(6506007)(186003)(110136005)(33656002)(26005)(316002)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: TJYSu09X7PMaP8Zs22fxyb+5LA6suPMjnFIcldnjv4v3YGtECol0i/E/DoyB2HYRLnOoVjamyJr60nkXq9Ej3i8XYqf/TcU0GGZ5vgT/kY1qeXMONudgbH4vLF2L04BUqq5783z9pdcJkSFkW4D0nfloqzTRfiWkIZNJH1KBpIT6p1YueGCCfbhBlP512E0ma+feZfayYl5qCxCV0hUBX/a0K2IWxw9eizMegcGoSepvIcSvFdH7c8beR8WcJtj7dfIqcrW5+Z4EzRdT9qPQhtKgEqgFOl66+pYC/M05hx5cQcPiu1sq+UhZvmpUq6i4pOcb0ssxFIdCJrBmxRk2rOtFD+KT1RsyanG614Z69oOfq1BHOyAUysOQ/nFPUAlUN3siM0t756sV0NNeIvIM9WkGk9t46Dhn21vOQ6oOzj0I4hSi/1KlH9l1B+TsRpno1kjhUCzTOqbIV5rGVjkizdWp9bRX16SXjltoqskgIUA= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: fd50a670-7af1-43fd-aa63-08d81255ad71 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2020 00:30:46.2663 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vqYV9hUpEsxOR7o17TUZT+Th5u7Q2/FhjCRacafoZmwUMke+SfCBIZyEf6iSYDVuqgtcxzrUJtXIrfHYoJV+ow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB2928 Return-Path: eric.dong@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Eric Dong > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of > Kirkendall, Garrett > Sent: Tuesday, June 16, 2020 2:30 AM > To: devel@edk2.groups.io > Cc: Dong, Eric ; Ni, Ray ; Laszlo > Ersek > Subject: [edk2-devel] [PATCH v1 1/2] UefiCpuPkg: Move > StandardSignatureIsAuthenticAMD to BaseUefiCpuLib >=20 > Refactor StandardSignatureIsAuthenticAMD into BaseUefiCpuLib from > separate copies in BaseXApicLib, BaseXApicX2ApicLib, and MpInitLib. > This allows for future use of StandarSignatureIsAuthinticAMD without > creating more instances in other modules. >=20 > This function allows IA32/X64 code to determine if it is running on an A= MD > brand processor. >=20 > UefiCpuLib is already included directly or indirectly in all modified mo= dules. > Complete move is made in this change. >=20 > Cc: Eric Dong > Cc: Ray Ni > Cc: Laszlo Ersek > Signed-off-by: Garrett Kirkendall > --- > UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf | 7 ++++ > UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf | 2 ++ > UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf | 2 ++ > UefiCpuPkg/Include/Library/UefiCpuLib.h | 14 +++++= +++ > UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c | 38 > ++++++++++++++++++++ > UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 25 ++---= -------- > UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 25 ++---= --- > ----- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 23 -----= ------- > 8 files changed, 67 insertions(+), 69 deletions(-) >=20 > diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > index 006b7acbf14e..34d3a7bb4303 100644 > --- a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > +++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf > @@ -4,6 +4,7 @@ > # The library routines are UEFI specification compliant. > # > # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved. > +# Copyright (c) 2020, AMD Inc. All rights reserved.
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -29,6 +30,12 = @@ > [Sources.IA32] [Sources.X64] > X64/InitializeFpu.nasm >=20 > +[Sources] > + BaseUefiCpuLib.c > + > [Packages] > MdePkg/MdePkg.dec > UefiCpuPkg/UefiCpuPkg.dec > + > +[LibraryClasses] > + BaseLib > diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf > b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf > index bdb2ff372677..561baa44b0e6 100644 > --- a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf > +++ b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf > @@ -5,6 +5,7 @@ > # where local APIC is disabled. > # > # Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. > +# Copyright (c) 2020, AMD Inc. All rights reserved.
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -37,6 +38,7 @= @ > [LibraryClasses] > TimerLib > IoLib > PcdLib > + UefiCpuLib >=20 > [Pcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuInitIpiDelayInMicroSeconds ## > SOMETIMES_CONSUMES diff --git > a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf > b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf > index ac1e0a1c9896..1e2a4f8b790f 100644 > --- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf > +++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf > @@ -5,6 +5,7 @@ > # where local APIC is disabled. > # > # Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. > +# Copyright (c) 2020, AMD Inc. All rights reserved.
> # SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -37,6 +38,7 @= @ > [LibraryClasses] > TimerLib > IoLib > PcdLib > + UefiCpuLib >=20 > [Pcd] > gUefiCpuPkgTokenSpaceGuid.PcdCpuInitIpiDelayInMicroSeconds ## > SOMETIMES_CONSUMES diff --git > a/UefiCpuPkg/Include/Library/UefiCpuLib.h > b/UefiCpuPkg/Include/Library/UefiCpuLib.h > index 82e53bab3a0f..5326e7246301 100644 > --- a/UefiCpuPkg/Include/Library/UefiCpuLib.h > +++ b/UefiCpuPkg/Include/Library/UefiCpuLib.h > @@ -5,6 +5,7 @@ > to be UEFI specification compliant. >=20 > Copyright (c) 2009, Intel Corporation. All rights reserved.
> + Copyright (c) 2020, AMD Inc. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > **/ > @@ -29,4 +30,17 @@ InitializeFloatingPointUnits ( > VOID > ); >=20 > +/** > + Determine if the standard CPU signature is "AuthenticAMD". > + > + @retval TRUE The CPU signature matches. > + @retval FALSE The CPU signature does not match. > + > +**/ > +BOOLEAN > +EFIAPI > +StandardSignatureIsAuthenticAMD ( > + VOID > + ); > + > #endif > diff --git a/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c > b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c > new file mode 100644 > index 000000000000..c2cc3ff9a709 > --- /dev/null > +++ b/UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c > @@ -0,0 +1,38 @@ > +/** @file > + This library defines some routines that are generic for IA32 family C= PU. > + > + The library routines are UEFI specification compliant. > + > + Copyright (c) 2020, AMD Inc. All rights reserved.
> + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#include > +#include > + > +#include > +#include > + > +/** > + Determine if the standard CPU signature is "AuthenticAMD". > + > + @retval TRUE The CPU signature matches. > + @retval FALSE The CPU signature does not match. > + > +**/ > +BOOLEAN > +EFIAPI > +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); > +} > diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c > b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c > index 33ea15ca2916..52bd90d33428 100644 > --- a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c > +++ b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c > @@ -4,7 +4,7 @@ > This local APIC library instance supports xAPIC mode only. >=20 > Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. > - Copyright (c) 2017, AMD Inc. All rights reserved.
> + Copyright (c) 2017 - 2020, AMD Inc. All rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -21,33 +21,12 @@ > #include > #include > #include > +#include >=20 > // > // Library internal functions > // >=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); > -} > - > /** > Determine if the CPU supports the Local APIC Base Address MSR. >=20 > diff --git a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c > b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c > index d0f92b33dc8c..cdcbca046191 100644 > --- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c > +++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c > @@ -5,7 +5,7 @@ > which have xAPIC and x2APIC modes. >=20 > Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. > - Copyright (c) 2017, AMD Inc. All rights reserved.
> + Copyright (c) 2017 - 2020, AMD Inc. All rights reserved.
>=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @@ -22,33 +22,12 @@ > #include > #include > #include > +#include >=20 > // > // Library internal functions > // >=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); > -} > - > /** > Determine if the CPU supports the Local APIC Base Address MSR. >=20 > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index ab7a8ed6633a..9b0660a5d4ea 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -13,29 +13,6 @@ > EFI_GUID mCpuInitMpLibHobGuid =3D CPU_INIT_MP_LIB_HOB_GUID; >=20 >=20 > -/** > - Determine if the standard CPU signature is "AuthenticAMD". > - > - @retval TRUE The CPU signature matches. > - @retval FALSE The CPU signature does not match. > - > -**/ > -STATIC > -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 > -- > 2.27.0 >=20 >=20 >=20