public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 00/15] Merge UefiCpuLib to CpuLib
@ 2022-03-29  6:36 Yu Pu
  2022-03-29  6:36 ` [PATCH v1 01/15] IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib Yu Pu
                   ` (17 more replies)
  0 siblings, 18 replies; 20+ messages in thread
From: Yu Pu @ 2022-03-29  6:36 UTC (permalink / raw)
  To: devel; +Cc: Yu Pu

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3394

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


^ permalink raw reply	[flat|nested] 20+ messages in thread
* [PATCH v1 00/15] Merge UefiCpuPkg/UefiCpuLib to MdePkg/CpuLib
@ 2022-04-11  9:45 Yu Pu
  2022-04-11  9:45 ` [PATCH v1 06/15] UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib Yu Pu
  0 siblings, 1 reply; 20+ messages in thread
From: Yu Pu @ 2022-04-11  9:45 UTC (permalink / raw)
  To: devel; +Cc: Yu Pu

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3394

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. This patch sets contain the first step: add
CpuLib to module INFs that depend on UefiCpuLib.

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.

 UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c => MdePkg/Library/BaseCpuLib/X86BaseCpuLib.c |  8 +--
 OvmfPkg/Sec/SecMain.c                                                                           |  2 +-
 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                                                                 | 48 +++++++++++++++
 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 -
 49 files changed, 73 insertions(+), 174 deletions(-)
 rename UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.c => MdePkg/Library/BaseCpuLib/X86BaseCpuLib.c (93%)
 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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2022-04-19  6:50 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-29  6:36 [PATCH v1 00/15] Merge UefiCpuLib to CpuLib Yu Pu
2022-03-29  6:36 ` [PATCH v1 01/15] IntelFsp2Pkg: Add CpuLib to module INFs that depend on UefiCpuLib Yu Pu
2022-03-29  6:36 ` [PATCH v1 02/15] IntelFsp2WrapperPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 03/15] MdePkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 04/15] OvmfPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 05/15] UefiCpuPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 06/15] UefiPayloadPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 07/15] MdePkg: Move API and implementation from UefiCpuLib to CpuLib Yu Pu
2022-03-29  6:36 ` [PATCH v1 08/15] UefiCpuPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 09/15] IntelFsp2Pkg: Remove UefiCpuLib from module INFs Yu Pu
2022-03-29  6:36 ` [PATCH v1 10/15] OvmfPkg: " Yu Pu
2022-03-29  6:36 ` [PATCH v1 11/15] PcAtChipsetPkg: " Yu Pu
2022-03-29  6:37 ` [PATCH v1 12/15] SourceLevelDebugPkg: " Yu Pu
2022-03-29  6:37 ` [PATCH v1 13/15] UefiCpuPkg: " Yu Pu
2022-03-29  6:37 ` [PATCH v1 14/15] UefiPayloadPkg: " Yu Pu
2022-03-29  6:37 ` [PATCH v1 15/15] UefiCpuLib: Remove UefiCpuLib Yu Pu
2022-03-31  0:51 ` 回复: [edk2-devel] [PATCH v1 00/15] Merge UefiCpuLib to CpuLib gaoliming
2022-04-01 13:45 ` Abner Chang
     [not found] ` <16E1C9BAAD925E7E.30116@groups.io>
2022-04-19  6:50   ` Abner Chang
  -- strict thread matches above, loose matches on Subject: below --
2022-04-11  9:45 [PATCH v1 00/15] Merge UefiCpuPkg/UefiCpuLib to MdePkg/CpuLib Yu Pu
2022-04-11  9:45 ` [PATCH v1 06/15] UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib Yu Pu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox