MdePkg: Move API and implementation from UefiCpuLib to CpuLib
There are two libraries: MdePkg/CpuLib and UefiCpuPkg/UefiCpuLib. This patch merges UefiCpuPkg/UefiCpuLib to MdePkg/CpuLib. Change-Id: Ic26f4c2614ed6bd9840f817d50e47ac1de4bd013 Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Signed-off-by: Yu Pu <yu.pu@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
This commit is contained in:
		| @@ -41,4 +41,52 @@ CpuFlushTlb ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| #if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64) | ||||
|  | ||||
| /** | ||||
|   Initializes floating point units for requirement of UEFI specification. | ||||
|   This function initializes floating-point control word to 0x027F (all exceptions | ||||
|   masked,double-precision, round-to-nearest) and multimedia-extensions control word | ||||
|   (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero | ||||
|   for masked underflow). | ||||
| **/ | ||||
| VOID | ||||
| EFIAPI | ||||
| InitializeFloatingPointUnits ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   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 | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Return the 32bit CPU family and model value. | ||||
|   @return CPUID[01h].EAX with Processor Type and Stepping ID cleared. | ||||
| **/ | ||||
| UINT32 | ||||
| EFIAPI | ||||
| GetCpuFamilyModel ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Return the CPU stepping ID. | ||||
|   @return CPU stepping ID value in CPUID[01h].EAX. | ||||
| **/ | ||||
| UINT8 | ||||
| EFIAPI | ||||
| GetCpuSteppingId ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -29,16 +29,22 @@ | ||||
| #  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | ||||
| # | ||||
|  | ||||
| [Sources.IA32, Sources.X64] | ||||
|   X86BaseCpuLib.c | ||||
|  | ||||
| [Sources.IA32] | ||||
|   Ia32/CpuSleep.c | MSFT | ||||
|   Ia32/CpuSleep.nasm| INTEL | ||||
|   Ia32/CpuSleepGcc.c | GCC | ||||
|   X86CpuFlushTlb.c | ||||
|  | ||||
|   Ia32/InitializeFpu.nasm | ||||
|  | ||||
| [Sources.X64] | ||||
|   X86CpuFlushTlb.c | ||||
|   X64/CpuSleep.nasm | ||||
|  | ||||
|   X64/InitializeFpu.nasm | ||||
|  | ||||
| [Sources.EBC] | ||||
|   Ebc/CpuSleepFlushTlb.c | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
| #include <Register/Amd/Cpuid.h> | ||||
| 
 | ||||
| #include <Library/BaseLib.h> | ||||
| #include <Library/UefiCpuLib.h> | ||||
| #include <Library/CpuLib.h> | ||||
| 
 | ||||
| /**
 | ||||
|   Determine if the standard CPU signature is "AuthenticAMD". | ||||
| @@ -13,53 +13,4 @@ | ||||
| #ifndef __UEFI_CPU_LIB_H__ | ||||
| #define __UEFI_CPU_LIB_H__ | ||||
|  | ||||
| /** | ||||
|   Initializes floating point units for requirement of UEFI specification. | ||||
|  | ||||
|   This function initializes floating-point control word to 0x027F (all exceptions | ||||
|   masked,double-precision, round-to-nearest) and multimedia-extensions control word | ||||
|   (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero | ||||
|   for masked underflow). | ||||
|  | ||||
| **/ | ||||
| VOID | ||||
| EFIAPI | ||||
| InitializeFloatingPointUnits ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   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 | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Return the 32bit CPU family and model value. | ||||
|  | ||||
|   @return CPUID[01h].EAX with Processor Type and Stepping ID cleared. | ||||
| **/ | ||||
| UINT32 | ||||
| EFIAPI | ||||
| GetCpuFamilyModel ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Return the CPU stepping ID. | ||||
|   @return CPU stepping ID value in CPUID[01h].EAX. | ||||
| **/ | ||||
| UINT8 | ||||
| EFIAPI | ||||
| GetCpuSteppingId ( | ||||
|   VOID | ||||
|   ); | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -24,14 +24,8 @@ | ||||
| #  VALID_ARCHITECTURES           = IA32 X64 | ||||
| # | ||||
|  | ||||
| [Sources.IA32] | ||||
|   Ia32/InitializeFpu.nasm | ||||
|  | ||||
| [Sources.X64] | ||||
|   X64/InitializeFpu.nasm | ||||
|  | ||||
| [Sources] | ||||
|   BaseUefiCpuLib.c | ||||
|   BaseUefiCpuLibNull.c | ||||
|  | ||||
| [Packages] | ||||
|   MdePkg/MdePkg.dec | ||||
|   | ||||
							
								
								
									
										18
									
								
								UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLibNull.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLibNull.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| /** @file | ||||
| This library contains a dummy function to pass build. | ||||
|  | ||||
| Copyright (c) 2022, Intel Corporation. All rights reserved. | ||||
|  | ||||
| SPDX-License-Identifier: BSD-2-Clause-Patent | ||||
| **/ | ||||
| #include <Base.h> | ||||
|  | ||||
| /** | ||||
|   Dummy function. | ||||
| **/ | ||||
| VOID | ||||
| Dummy ( | ||||
|   VOID | ||||
|   ) | ||||
| { | ||||
| } | ||||
		Reference in New Issue
	
	Block a user