Hi Pu, When would you expect having CpuLib merged to edk2 mainstream? Regards, Abner ________________________________ From: devel@edk2.groups.io on behalf of Abner Chang Sent: Friday, April 1, 2022 9:45 PM To: devel@edk2.groups.io ; yu.pu@intel.com Subject: Re: [edk2-devel] [PATCH v1 00/15] Merge UefiCpuLib to CpuLib RISC-V port will follow this implementation. Acked-by: Abner Chang > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Yu Pu > Sent: Tuesday, March 29, 2022 2:37 PM > To: devel@edk2.groups.io > Cc: Yu Pu > 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 > > > > >