From: "Duran, Leo" <leo.duran@amd.com>
To: "Dong, Eric" <eric.dong@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Ni, Ray" <ray.ni@intel.com>, Laszlo Ersek <lersek@redhat.com>
Subject: Re: [PATCH 1/2] UefiCpuPkg: LocalApicLib: Export StandardSignatureIsAuthenticAMD function
Date: Wed, 26 Feb 2020 02:41:28 +0000 [thread overview]
Message-ID: <BN6PR12MB192234CC43CB821F82A3D928F9EA0@BN6PR12MB1922.namprd12.prod.outlook.com> (raw)
In-Reply-To: <ED077930C258884BBCB450DB737E662259FD1510@shsmsx102.ccr.corp.intel.com>
Hi Eric,
I added EFIAPI as the function is now intended to be called externally, as a member of "LocalApicLib".
And to that end I added the function prototype in UefiCpuPkg/Include/Library/LocalApicLib,h.
But perhaps I've misunderstood your question?
Thanks,
Leo.
> -----Original Message-----
> From: Dong, Eric [mailto:eric.dong@intel.com]
> Sent: Tuesday, February 25, 2020 8:13 PM
> To: Duran, Leo <leo.duran@amd.com>; devel@edk2.groups.io
> Cc: Ni, Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: RE: [PATCH 1/2] UefiCpuPkg: LocalApicLib: Export
> StandardSignatureIsAuthenticAMD function
>
> Hi Leo,
>
> I check the code and find the real change for the C files are add "EFIAPI" in
> the code. Can you help to refine the change and only keep the real changes?
>
> Thanks,
> Eric
>
> -----Original Message-----
> From: Leo Duran <leo.duran@amd.com>
> Sent: Wednesday, February 26, 2020 3:39 AM
> To: devel@edk2.groups.io
> Cc: Leo Duran <leo.duran@amd.com>; Dong, Eric <eric.dong@intel.com>; Ni,
> Ray <ray.ni@intel.com>; Laszlo Ersek <lersek@redhat.com>
> Subject: [PATCH 1/2] UefiCpuPkg: LocalApicLib: Export
> StandardSignatureIsAuthenticAMD function
>
> REF:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugzill
> a.tianocore.org%2Fshow_bug.cgi%3Fid%3D2556&data=02%7C01%7Cleo.
> duran%40amd.com%7C19e3e4c20ffa41d8de8508d7ba591944%7C3dd8961f
> e4884e608e11a82d994e183d%7C0%7C0%7C637182764151879166&s
> data=n%2B3eeGu7%2BvmVCz2QP6aeJuiqQ08gX5ZaCAuDkNMO%2Bb8%3D&a
> mp;reserved=0
>
> The StandardSignatureIsAuthenticAMD function was introduced locally to
> help divert code paths pertinent (or not) to AMD processors.
> This patch exports that function so that it may serve the same purpose in
> other modules that consume LocalApicLib.
>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Signed-off-by: Leo Duran <leo.duran@amd.com>
> ---
> UefiCpuPkg/Include/Library/LocalApicLib.h | 15 +++++++
> UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 47 +++++++++++--------
> ---
> .../BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 47 +++++++++++----------
> -
> 3 files changed, 63 insertions(+), 46 deletions(-)
>
> diff --git a/UefiCpuPkg/Include/Library/LocalApicLib.h
> b/UefiCpuPkg/Include/Library/LocalApicLib.h
> index 96b93aa..a6e9dc6 100644
> --- a/UefiCpuPkg/Include/Library/LocalApicLib.h
> +++ b/UefiCpuPkg/Include/Library/LocalApicLib.h
> @@ -5,6 +5,8 @@
> handles cases where local APIC is disabled.
>
> Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> + Copyright (c) 2020, AMD Inc. All rights reserved.<BR>
> +
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -16,6 +18,19 @@
> #define LOCAL_APIC_MODE_X2APIC 0x2 ///< x2APIC mode.
>
> /**
> + 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
> + );
> +
> +/**
> Retrieve the base address of local APIC.
>
> @return The base address of local APIC.
> diff --git a/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
> b/UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
> index 33ea15c..cebf1b3 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.
>
> Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> - Copyright (c) 2017, AMD Inc. All rights reserved.<BR>
> + Copyright (c) 2017 - 2020, AMD Inc. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -27,28 +27,6 @@
> //
>
> /**
> - 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 == CPUID_SIGNATURE_AUTHENTIC_AMD_EBX &&
> - RegEcx == CPUID_SIGNATURE_AUTHENTIC_AMD_ECX &&
> - RegEdx == CPUID_SIGNATURE_AUTHENTIC_AMD_EDX);
> -}
> -
> -/**
> Determine if the CPU supports the Local APIC Base Address MSR.
>
> @retval TRUE The CPU supports the Local APIC Base Address MSR.
> @@ -76,6 +54,29 @@ LocalApicBaseAddressMsrSupported ( }
>
> /**
> + 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 == CPUID_SIGNATURE_AUTHENTIC_AMD_EBX &&
> + RegEcx == CPUID_SIGNATURE_AUTHENTIC_AMD_ECX &&
> + RegEdx == CPUID_SIGNATURE_AUTHENTIC_AMD_EDX);
> +}
> +
> +/**
> Retrieve the base address of local APIC.
>
> @return The base address of local APIC.
> diff --git a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
> b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
> index d0f92b3..01996b1 100644
> --- a/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
> +++ b/UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
> @@ -5,7 +5,7 @@
> which have xAPIC and x2APIC modes.
>
> Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
> - Copyright (c) 2017, AMD Inc. All rights reserved.<BR>
> + Copyright (c) 2017 - 2020, AMD Inc. All rights reserved.<BR>
>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> @@ -28,28 +28,6 @@
> //
>
> /**
> - 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 == CPUID_SIGNATURE_AUTHENTIC_AMD_EBX &&
> - RegEcx == CPUID_SIGNATURE_AUTHENTIC_AMD_ECX &&
> - RegEdx == CPUID_SIGNATURE_AUTHENTIC_AMD_EDX);
> -}
> -
> -/**
> Determine if the CPU supports the Local APIC Base Address MSR.
>
> @retval TRUE The CPU supports the Local APIC Base Address MSR.
> @@ -77,6 +55,29 @@ LocalApicBaseAddressMsrSupported ( }
>
> /**
> + 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 == CPUID_SIGNATURE_AUTHENTIC_AMD_EBX &&
> + RegEcx == CPUID_SIGNATURE_AUTHENTIC_AMD_ECX &&
> + RegEdx == CPUID_SIGNATURE_AUTHENTIC_AMD_EDX);
> +}
> +
> +/**
> Retrieve the base address of local APIC.
>
> @return The base address of local APIC.
> --
> 2.7.4
next prev parent reply other threads:[~2020-02-26 2:41 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 19:39 [PATCH 0/2] UefiCpuPkg/Library: Fix bug in MpInitLib Leo Duran
2020-02-25 19:39 ` [PATCH 1/2] UefiCpuPkg: LocalApicLib: Export StandardSignatureIsAuthenticAMD function Leo Duran
2020-02-26 1:13 ` Dong, Eric
2020-02-26 2:41 ` Duran, Leo [this message]
2020-02-26 5:05 ` Dong, Eric
2020-02-26 10:13 ` [edk2-devel] " Laszlo Ersek
2020-02-26 15:03 ` Duran, Leo
2020-02-26 16:19 ` Laszlo Ersek
2020-02-26 15:59 ` Duran, Leo
2020-02-25 19:39 ` [PATCH 2/2] UefiCpuPkg: MpInitLib: Exclude code no pertinent to AMD processors Leo Duran
2020-02-26 7:45 ` Ni, Ray
2020-02-26 7:56 ` Siyuan, Fu
2020-02-26 0:54 ` [edk2-devel] [PATCH 0/2] UefiCpuPkg/Library: Fix bug in MpInitLib Laszlo Ersek
2020-02-26 7:57 ` Ni, Ray
2020-02-26 8:56 ` Liming Gao
2020-02-26 15:11 ` Duran, Leo
2020-02-26 16:24 ` Laszlo Ersek
2020-02-26 16:35 ` Duran, Leo
2020-02-26 15:25 ` Duran, Leo
2020-02-26 15:46 ` Duran, Leo
2020-02-26 16:20 ` Laszlo Ersek
2020-02-26 16:39 ` Duran, Leo
2020-02-26 16:46 ` Duran, Leo
2020-02-26 17:45 ` Laszlo Ersek
2020-02-26 17:51 ` Duran, Leo
2020-02-27 5:55 ` Ni, Ray
2020-02-27 18:17 ` Duran, Leo
2020-02-28 6:47 ` Ni, Ray
2020-02-28 16:38 ` Duran, Leo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BN6PR12MB192234CC43CB821F82A3D928F9EA0@BN6PR12MB1922.namprd12.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox