The series patches are to refine SMM CPU Sync flow. After the refinement, SmmCpuSyncLib is abstracted for any user to provide different SMM CPU Sync implementation.
Compared to V1, has following refinement & changes: 1. Remove below patch from this series patches: UefiCpuPkg/PiSmmCpuDxeSmm: Reduce times of BSP and AP Sync for SMM Exit Reason: Plan to separate that patch into another patch set. 2. Refine the patch according Laszlo & Ray's comments: a. Removed Change-Id in the patches b. Optimized the description to avoid the confusing. c. Fixed wrong function comment to make it correct and understandable. d. Use an incomplete structure type to aviod the VOID*. e. Corrected all functions params "in" & "out". f. Added lots of comments for the library to explain the operation & behavior. g. Fixed inconsistent return types from lib APIs. h. Use SafeIntLib for all calculations to prevent overflows. i. Remove the UefiCpuPkg/UefiCpuLibs.dsc.inc Cc: Laszlo Ersek <ler...@redhat.com> Cc: Eric Dong <eric.d...@intel.com> Cc: Ray Ni <ray...@intel.com> Cc: Zeng Star <star.z...@intel.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Rahul Kumar <rahul1.ku...@intel.com> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Jordan Justen <jordan.l.jus...@intel.com> Cc: Guo Dong <guo.d...@intel.com> Cc: Sean Rhodes <sean@starlabs.systems> Cc: James Lu <james...@intel.com> Cc: Gua Guo <gua....@intel.com> Signed-off-by: Jiaxin Wu <jiaxin...@intel.com> Jiaxin Wu (6): UefiCpuPkg/PiSmmCpuDxeSmm: Optimize Semaphore Sync between BSP and AP UefiCpuPkg: Adds SmmCpuSyncLib library class UefiCpuPkg: Implements SmmCpuSyncLib library instance OvmfPkg: Specifies SmmCpuSyncLib instance UefiPayloadPkg: Specifies SmmCpuSyncLib instance UefiCpuPkg/PiSmmCpuDxeSmm: Consume SmmCpuSyncLib OvmfPkg/CloudHv/CloudHvX64.dsc | 2 + OvmfPkg/OvmfPkgIa32.dsc | 2 + OvmfPkg/OvmfPkgIa32X64.dsc | 2 + OvmfPkg/OvmfPkgX64.dsc | 1 + UefiCpuPkg/Include/Library/SmmCpuSyncLib.h | 278 +++++++++ UefiCpuPkg/Library/SmmCpuSyncLib/SmmCpuSyncLib.c | 690 +++++++++++++++++++++ UefiCpuPkg/Library/SmmCpuSyncLib/SmmCpuSyncLib.inf | 39 ++ UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 275 ++++---- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.h | 6 +- UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 1 + UefiCpuPkg/UefiCpuPkg.dec | 3 + UefiCpuPkg/UefiCpuPkg.dsc | 3 + UefiPayloadPkg/UefiPayloadPkg.dsc | 1 + 13 files changed, 1132 insertions(+), 171 deletions(-) create mode 100644 UefiCpuPkg/Include/Library/SmmCpuSyncLib.h create mode 100644 UefiCpuPkg/Library/SmmCpuSyncLib/SmmCpuSyncLib.c create mode 100644 UefiCpuPkg/Library/SmmCpuSyncLib/SmmCpuSyncLib.inf -- 2.16.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111892): https://edk2.groups.io/g/devel/message/111892 Mute This Topic: https://groups.io/mt/102889290/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-