From d25421d0d8cd2493b30215ef80d2424ecb19c870 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 22 Feb 2024 17:01:06 +0100 Subject: [PATCH] UefiCpuPkg/MpInitLib: return early in GetBspNumber() After finding the BSP Number return the result instead of continuing to loop over the remaining processors. Suggested-by: Laszlo Ersek Signed-off-by: Gerd Hoffmann Message-Id: <20240222160106.686484-7-kraxel@redhat.com> Reviewed-by: Ray Ni Reviewed-by: Laszlo Ersek [lersek@redhat.com: s/ASSERT (FALSE)/ASSERT_EFI_ERROR (EFI_NOT_FOUND)/ [Ray]] --- UefiCpuPkg/Library/MpInitLib/MpLib.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c index 4b6d6d02b0..8c186211fb 100644 --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c @@ -1903,15 +1903,13 @@ GetBspNumber ( ) { UINT32 ApicId; - UINT32 BspNumber; UINT32 Index; CONST MP_HAND_OFF *MpHandOff; // // Get the processor number for the BSP // - BspNumber = MAX_UINT32; - ApicId = GetInitialApicId (); + ApicId = GetInitialApicId (); for (MpHandOff = FirstMpHandOff; MpHandOff != NULL; @@ -1919,14 +1917,13 @@ GetBspNumber ( { for (Index = 0; Index < MpHandOff->CpuCount; Index++) { if (MpHandOff->Info[Index].ApicId == ApicId) { - BspNumber = MpHandOff->ProcessorIndex + Index; + return MpHandOff->ProcessorIndex + Index; } } } - ASSERT (BspNumber != MAX_UINT32); - - return BspNumber; + ASSERT_EFI_ERROR (EFI_NOT_FOUND); + return 0; } /**