public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH v2 0/6] Refine SMM CPU Sync flow and abstract SmmCpuSyncLib
@ 2023-11-30  6:31 Wu, Jiaxin
  0 siblings, 0 replies; 2+ messages in thread
From: Wu, Jiaxin @ 2023-11-30  6:31 UTC (permalink / raw)
  To: devel
  Cc: Laszlo Ersek, Eric Dong, Ray Ni, Zeng Star, Gerd Hoffmann,
	Rahul Kumar, Ard Biesheuvel, Jiewen Yao, Jordan Justen, Guo Dong,
	Sean Rhodes, James Lu, Gua Guo

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 <lersek@redhat.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Zeng Star <star.zeng@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Guo Dong <guo.dong@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Signed-off-by: Jiaxin Wu <jiaxin.wu@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/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



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

* Re: [edk2-devel] [PATCH v2 0/6] Refine SMM CPU Sync flow and abstract SmmCpuSyncLib
       [not found] <179C52E5E4412CF2.11889@groups.io>
@ 2023-12-05 23:58 ` Wu, Jiaxin
  0 siblings, 0 replies; 2+ messages in thread
From: Wu, Jiaxin @ 2023-12-05 23:58 UTC (permalink / raw)
  To: devel@edk2.groups.io, Wu, Jiaxin
  Cc: Laszlo Ersek, Dong, Eric, Ni, Ray, Zeng, Star, Gerd Hoffmann,
	Kumar, Rahul R, Ard Biesheuvel, Yao, Jiewen, Justen, Jordan L,
	Dong, Guo, Rhodes, Sean, Lu, James, Guo, Gua

Hi All, 

Could you help review the series patches in v2? 

Thank you very much!
Jiaxin 

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Wu,
> Jiaxin
> Sent: Thursday, November 30, 2023 2:32 PM
> To: devel@edk2.groups.io
> Cc: Laszlo Ersek <lersek@redhat.com>; Dong, Eric <eric.dong@intel.com>; Ni,
> Ray <ray.ni@intel.com>; Zeng, Star <star.zeng@intel.com>; Gerd Hoffmann
> <kraxel@redhat.com>; Kumar, Rahul R <rahul.r.kumar@intel.com>; Ard
> Biesheuvel <ardb+tianocore@kernel.org>; Yao, Jiewen
> <jiewen.yao@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Dong,
> Guo <guo.dong@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu,
> James <james.lu@intel.com>; Guo, Gua <gua.guo@intel.com>
> Subject: [edk2-devel] [PATCH v2 0/6] Refine SMM CPU Sync flow and abstract
> SmmCpuSyncLib
> 
> 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 <lersek@redhat.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Zeng Star <star.zeng@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Rahul Kumar <rahul1.kumar@intel.com>
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Guo Dong <guo.dong@intel.com>
> Cc: Sean Rhodes <sean@starlabs.systems>
> Cc: James Lu <james.lu@intel.com>
> Cc: Gua Guo <gua.guo@intel.com>
> Signed-off-by: Jiaxin Wu <jiaxin.wu@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 (#112084): https://edk2.groups.io/g/devel/message/112084
Mute This Topic: https://groups.io/mt/102889290/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



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

end of thread, other threads:[~2023-12-05 23:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <179C52E5E4412CF2.11889@groups.io>
2023-12-05 23:58 ` [edk2-devel] [PATCH v2 0/6] Refine SMM CPU Sync flow and abstract SmmCpuSyncLib Wu, Jiaxin
2023-11-30  6:31 Wu, Jiaxin

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