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 |   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 | #endif | ||||||
|   | |||||||
| @@ -29,16 +29,22 @@ | |||||||
| #  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | #  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64 RISCV64 LOONGARCH64 | ||||||
| # | # | ||||||
|  |  | ||||||
|  | [Sources.IA32, Sources.X64] | ||||||
|  |   X86BaseCpuLib.c | ||||||
|  |  | ||||||
| [Sources.IA32] | [Sources.IA32] | ||||||
|   Ia32/CpuSleep.c | MSFT |   Ia32/CpuSleep.c | MSFT | ||||||
|   Ia32/CpuSleep.nasm| INTEL |   Ia32/CpuSleep.nasm| INTEL | ||||||
|   Ia32/CpuSleepGcc.c | GCC |   Ia32/CpuSleepGcc.c | GCC | ||||||
|   X86CpuFlushTlb.c |   X86CpuFlushTlb.c | ||||||
|  |  | ||||||
|  |   Ia32/InitializeFpu.nasm | ||||||
|  |  | ||||||
| [Sources.X64] | [Sources.X64] | ||||||
|   X86CpuFlushTlb.c |   X86CpuFlushTlb.c | ||||||
|   X64/CpuSleep.nasm |   X64/CpuSleep.nasm | ||||||
|  |  | ||||||
|  |   X64/InitializeFpu.nasm | ||||||
|  |  | ||||||
| [Sources.EBC] | [Sources.EBC] | ||||||
|   Ebc/CpuSleepFlushTlb.c |   Ebc/CpuSleepFlushTlb.c | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ | |||||||
| #include <Register/Amd/Cpuid.h> | #include <Register/Amd/Cpuid.h> | ||||||
| 
 | 
 | ||||||
| #include <Library/BaseLib.h> | #include <Library/BaseLib.h> | ||||||
| #include <Library/UefiCpuLib.h> | #include <Library/CpuLib.h> | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|   Determine if the standard CPU signature is "AuthenticAMD". |   Determine if the standard CPU signature is "AuthenticAMD". | ||||||
| @@ -13,53 +13,4 @@ | |||||||
| #ifndef __UEFI_CPU_LIB_H__ | #ifndef __UEFI_CPU_LIB_H__ | ||||||
| #define __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 | #endif | ||||||
|   | |||||||
| @@ -24,14 +24,8 @@ | |||||||
| #  VALID_ARCHITECTURES           = IA32 X64 | #  VALID_ARCHITECTURES           = IA32 X64 | ||||||
| # | # | ||||||
|  |  | ||||||
| [Sources.IA32] |  | ||||||
|   Ia32/InitializeFpu.nasm |  | ||||||
|  |  | ||||||
| [Sources.X64] |  | ||||||
|   X64/InitializeFpu.nasm |  | ||||||
|  |  | ||||||
| [Sources] | [Sources] | ||||||
|   BaseUefiCpuLib.c |   BaseUefiCpuLibNull.c | ||||||
|  |  | ||||||
| [Packages] | [Packages] | ||||||
|   MdePkg/MdePkg.dec |   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