audk/UefiCpuPkg/PiSmmCpuDxeSmm
Damian Nikodem 832c4c7ad6 UefiCpuPkg: Fix potential spinLock issue in SmmStartupThisAp
Due to needs a tackling the deficiency of the AP API, it's necessary to
ensure that in non-blocking mode previous AP executed command is
finished before starting new one.

To remedy above:
  1) execute AcquireSpinLock instead AcquireSpinLockOrFail - this will
     ensure time "window" to eliminate potential race condition between
     BSP and AP spinLock release in non-blocking mode.
     This also will eliminate possibility to start executing new AP
     function before last is finished.
  2) remove returns EFI_STATUS - EFI_NOT_READY - in new scenario returned
     status is not necessary to caller.

Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Cc: Benjamin You <benjamin.you@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Krzysztof Rusocki <krzysztof.rusocki@intel.com>
2019-09-20 14:37:42 +08:00
..
Ia32 UefiCpuPkg/PiSmmCpu: Restrict access per PcdCpuSmmRestrictedMemoryAccess 2019-09-04 01:00:10 +08:00
X64 UefiCpuPkg/PiSmmCpu: Enable 5L paging only when phy addr line > 48 2019-09-13 16:20:54 +08:00
CpuS3.c UefiCpuPkg/PiSmmCpuDxeSmm: Supports test then write new value logic. 2019-08-21 02:44:49 +08:00
CpuService.c UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
CpuService.h UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
MpService.c UefiCpuPkg: Fix potential spinLock issue in SmmStartupThisAp 2019-09-20 14:37:42 +08:00
PiSmmCpuDxeSmm.c UefiCpuPkg/PiSmmCpu: Restrict access per PcdCpuSmmRestrictedMemoryAccess 2019-09-04 01:00:10 +08:00
PiSmmCpuDxeSmm.h UefiCpuPkg/PiSmmCpu: Restrict access per PcdCpuSmmRestrictedMemoryAccess 2019-09-04 01:00:10 +08:00
PiSmmCpuDxeSmm.inf UefiCpuPkg/PiSmmCpu: Use new PCD PcdCpuSmmRestrictedMemoryAccess 2019-09-04 01:00:10 +08:00
PiSmmCpuDxeSmm.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
PiSmmCpuDxeSmmExtra.uni UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmCpuMemoryManagement.c UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports 2019-07-12 15:13:51 +08:00
SmmMp.c UefiCpuPkg/PiSmmCpuDxeSmm: Enable MM MP Protocol 2019-07-16 11:54:55 +08:00
SmmMp.h UefiCpuPkg/PiSmmCpuDxeSmm: Keep function comment and declaration adjacent 2019-08-02 14:19:13 +08:00
SmmProfile.c UefiCpuPkg/PiSmmCpu: Enable 5 level paging when CPU supports 2019-07-12 15:13:51 +08:00
SmmProfile.h UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmmProfileInternal.h UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00
SmramSaveState.c UefiCpuPkg: Update code to include register definitions from MdePkg 2019-08-09 08:52:09 +08:00
SyncTimer.c UefiCpuPkg: Replace BSD License with BSD+Patent License 2019-04-09 10:58:28 -07:00