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.d...@intel.com] > Sent: Tuesday, February 25, 2020 8:13 PM > To: Duran, Leo <leo.du...@amd.com>; devel@edk2.groups.io > Cc: Ni, Ray <ray...@intel.com>; Laszlo Ersek <ler...@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.du...@amd.com> > Sent: Wednesday, February 26, 2020 3:39 AM > To: devel@edk2.groups.io > Cc: Leo Duran <leo.du...@amd.com>; Dong, Eric <eric.d...@intel.com>; Ni, > Ray <ray...@intel.com>; Laszlo Ersek <ler...@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.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Signed-off-by: Leo Duran <leo.du...@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 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#54858): https://edk2.groups.io/g/devel/message/54858 Mute This Topic: https://groups.io/mt/71541518/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-