This reverts commit 123b720eeb371e0a31eb727bcf59255b584e355f. The commit message for commit 123b720eeb37 is not correct.
Cc: Ray Ni <ray...@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Signed-off-by: Eric Dong <eric.d...@intel.com> --- UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c b/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c index 870250b0c5..f445d7b030 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c @@ -137,7 +137,7 @@ ReleaseAllAPs ( { UINTN Index; - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (IsPresentAp (Index)) { ReleaseSemaphore (mSmmMpSyncData->CpuData[Index].Run); } @@ -170,7 +170,7 @@ AllCpusInSmmWithExceptions ( CpuData = mSmmMpSyncData->CpuData; ProcessorInfo = gSmmCpuPrivate->ProcessorInfo; - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (!(*(CpuData[Index].Present)) && ProcessorInfo[Index].ProcessorId != INVALID_APIC_ID) { if (((Exceptions & ARRIVAL_EXCEPTION_DELAYED) != 0) && SmmCpuFeaturesGetSmmRegister (Index, SmmRegSmmDelayed) != 0) { continue; @@ -305,7 +305,7 @@ SmmWaitForApArrival ( // // Send SMI IPIs to bring outside processors in // - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (!(*(mSmmMpSyncData->CpuData[Index].Present)) && gSmmCpuPrivate->ProcessorInfo[Index].ProcessorId != INVALID_APIC_ID) { SendSmiIpi ((UINT32)gSmmCpuPrivate->ProcessorInfo[Index].ProcessorId); } @@ -361,7 +361,7 @@ WaitForAllAPsNotBusy ( { UINTN Index; - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { // // Ignore BSP and APs which not call in SMM. // @@ -608,7 +608,7 @@ BSPHandler ( // while (TRUE) { PresentCount = 0; - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (*(mSmmMpSyncData->CpuData[Index].Present)) { PresentCount ++; } @@ -1343,7 +1343,7 @@ InternalSmmStartupAllAPs ( } CpuCount = 0; - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (IsPresentAp (Index)) { CpuCount ++; @@ -1375,13 +1375,13 @@ InternalSmmStartupAllAPs ( // Here code always use AcquireSpinLock instead of AcquireSpinLockOrFail for not // block mode. // - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (IsPresentAp (Index)) { AcquireSpinLock (mSmmMpSyncData->CpuData[Index].Busy); } } - for (Index = 0; Index < mMaxNumberOfCpus; Index++) { + for (Index = mMaxNumberOfCpus; Index-- > 0;) { if (IsPresentAp (Index)) { mSmmMpSyncData->CpuData[Index].Procedure = (EFI_AP_PROCEDURE2) Procedure; mSmmMpSyncData->CpuData[Index].Parameter = ProcedureArguments; -- 2.23.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52946): https://edk2.groups.io/g/devel/message/52946 Mute This Topic: https://groups.io/mt/69493490/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-