[edk2-devel] [PATCH v1 00/15] Merge UefiCpuLib to CpuLib

Abner Chang abner.chang at hpe.com
Fri Apr 1 13:45:34 UTC 2022


RISC-V port will follow this implementation.

Acked-by: Abner Chang <abner.chang at hpe.com>

> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Yu Pu
> Sent: Tuesday, March 29, 2022 2:37 PM
> To: devel at edk2.groups.io
> Cc: Yu Pu <yu.pu at intel.com>
> Subject: [edk2-devel] [PATCH v1 00/15] Merge UefiCpuLib to CpuLib
> 
> REF:INVALID URI REMOVED.
> cgi?id=3394__;!!NpxR!xX2rZhlg2fzyUFxuyOaXIdXyQT_5yKUpj_ImUmTUQvQ
> cy3zCD4VRcBtL-uHKGxM$
> 
> Today lots of duplicated code call CPUID and calculates the address
> mask. Adding an API named GetPhysicalAddressBits in UefiCpuLib can
> solve this problem, but at the same time cause MdeModulePkg depend
> on UefiCpuPkg which does not meet the design spec. So merge UefiCpuLib
> to CpuLib is a good way to sovle these problems. To minimize the impact,
> this operation is divided into four steps.
> 
> Yu Pu (15):
>   IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib
>   IntelFsp2WrapperPkg: Add CpuLib to module INFs that depend on
>     UefiCpuLib.
>   MdePkg: Add CpuLib to module INFs that depend on UefiCpuLib.
>   OvmfPkg: Add CpuLib to module INFs that depend on  UefiCpuLib.
>   UefiCpuPkg: Add CpuLib to module INFs that depend on  UefiCpuLib.
>   UefiPayloadPkg: Add CpuLib to module INFs that  depend on UefiCpuLib.
>   MdePkg: Move API and implementation from UefiCpuLib to CpuLib
>   UefiCpuPkg: Move API and implementation from UefiCpuLib to CpuLib
>   IntelFsp2Pkg: Remove UefiCpuLib from module INFs.
>   OvmfPkg: Remove UefiCpuLib from module INFs.
>   PcAtChipsetPkg: Remove UefiCpuLib from module INFs.
>   SourceLevelDebugPkg: Remove UefiCpuLib from module  INFs.
>   UefiCpuPkg: Remove UefiCpuLib from module INFs.
>   UefiPayloadPkg: Remove UefiCpuLib from module INFs.
>   UefiCpuLib: Remove UefiCpuLib.
> 
>  MdePkg/Library/BaseCpuLib/X86BaseCpuLib.c                                                | 122
> ++++++++++++++++++++
>  OvmfPkg/Sec/SecMain.c                                                                    |   2 +-
>  UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c                                       |
> 81 -------------
>  UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c                                           |   2
> +-
>  UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
> |   2 +-
>  IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf                                                  |   2 +-
>  IntelFsp2Pkg/FspSecCore/SecMain.h                                                        |   2 +-
>  IntelFsp2Pkg/IntelFsp2Pkg.dsc                                                            |   1 -
>  IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc                                                  |   1 -
>  IntelFsp2WrapperPkg/FspmWrapperPeim/FspmWrapperPeim.inf
> |   2 +-
>  IntelFsp2WrapperPkg/FspsWrapperPeim/FspsWrapperPeim.inf
> |   2 +-
>  IntelFsp2WrapperPkg/IntelFsp2WrapperPkg.dsc                                              |   1 -
>  MdePkg/Include/Library/CpuLib.h                                                          |  65
> +++++++++++
>  MdePkg/Library/BaseCpuLib/BaseCpuLib.inf                                                 |   6 +
>  {UefiCpuPkg/Library/BaseUefiCpuLib =>
> MdePkg/Library/BaseCpuLib}/Ia32/InitializeFpu.nasm |   0
>  {UefiCpuPkg/Library/BaseUefiCpuLib =>
> MdePkg/Library/BaseCpuLib}/X64/InitializeFpu.nasm  |   0
>  MdePkg/MdeLibs.dsc.inc                                                                   |   1 +
>  OvmfPkg/AmdSev/AmdSevX64.dsc                                                             |   1 -
>  OvmfPkg/Bhyve/BhyveX64.dsc                                                               |   1 -
>  OvmfPkg/CloudHv/CloudHvX64.dsc                                                           |   1 -
>  OvmfPkg/Microvm/MicrovmX64.dsc                                                           |   1 -
>  OvmfPkg/OvmfPkgIa32.dsc                                                                  |   1 -
>  OvmfPkg/OvmfPkgIa32X64.dsc                                                               |   1 -
>  OvmfPkg/OvmfPkgX64.dsc                                                                   |   1 -
>  OvmfPkg/OvmfXen.dsc                                                                      |   1 -
>  OvmfPkg/Sec/SecMain.inf                                                                  |   2 +-
>  PcAtChipsetPkg/PcAtChipsetPkg.dsc                                                        |   1 -
>  SourceLevelDebugPkg/SourceLevelDebugPkg.dsc                                              |   1
> -
>  UefiCpuPkg/CpuDxe/CpuDxe.h                                                               |   1 -
>  UefiCpuPkg/CpuDxe/CpuDxe.inf                                                             |   1 -
>  UefiCpuPkg/Include/Library/UefiCpuLib.h                                                  |  65 ------
> -----
>  UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf                                     |
> 41 -------
>  UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.uni                                     |
> 16 ---
>  UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.inf                                         |   2
> +-
>  UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
> |   2 +-
>  UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf                                            |   1 -
>  UefiCpuPkg/Library/MpInitLib/MpLib.h                                                     |   1 -
>  UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf                                            |   1 -
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h
> |   2 +-
>  UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
> |   1 -
>  UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfileInternal.h
> |   1 -
>  UefiCpuPkg/SecCore/SecCore.inf                                                           |   2 +-
>  UefiCpuPkg/SecCore/SecCoreNative.inf                                                     |   2 +-
>  UefiCpuPkg/SecCore/SecMain.h                                                             |   2 +-
>  UefiCpuPkg/UefiCpuPkg.dec                                                                |   5 -
>  UefiCpuPkg/UefiCpuPkg.dsc                                                                |   2 -
>  UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.h                                       |
> 2 +-
>  UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf                                     |
> 2 +-
>  UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
> |   2 +-
>  UefiPayloadPkg/UefiPayloadPkg.dsc                                                        |   1 -
>  50 files changed, 211 insertions(+), 248 deletions(-)
>  create mode 100644 MdePkg/Library/BaseCpuLib/X86BaseCpuLib.c
>  delete mode 100644 UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c
>  rename {UefiCpuPkg/Library/BaseUefiCpuLib =>
> MdePkg/Library/BaseCpuLib}/Ia32/InitializeFpu.nasm (100%)
>  rename {UefiCpuPkg/Library/BaseUefiCpuLib =>
> MdePkg/Library/BaseCpuLib}/X64/InitializeFpu.nasm (100%)
>  delete mode 100644 UefiCpuPkg/Include/Library/UefiCpuLib.h
>  delete mode 100644
> UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf
>  delete mode 100644
> UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.uni
> 
> --
> 2.30.0.windows.2
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88325): https://edk2.groups.io/g/devel/message/88325
Mute This Topic: https://groups.io/mt/90116960/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list