Преглед на файлове

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>
Yu Pu преди 2 години
родител
ревизия
b294633c68

+ 48 - 0
MdePkg/Include/Library/CpuLib.h

@@ -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

+ 6 - 0
MdePkg/Library/BaseCpuLib/BaseCpuLib.inf

@@ -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

+ 0 - 0
UefiCpuPkg/Library/BaseUefiCpuLib/Ia32/InitializeFpu.nasm → MdePkg/Library/BaseCpuLib/Ia32/InitializeFpu.nasm


+ 0 - 0
UefiCpuPkg/Library/BaseUefiCpuLib/X64/InitializeFpu.nasm → MdePkg/Library/BaseCpuLib/X64/InitializeFpu.nasm


+ 1 - 1
UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c → MdePkg/Library/BaseCpuLib/X86BaseCpuLib.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".

+ 0 - 49
UefiCpuPkg/Include/Library/UefiCpuLib.h

@@ -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

+ 1 - 7
UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf

@@ -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 - 0
UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLibNull.c

@@ -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
+  )
+{
+}