Thanks. I have a couple of comments, but will otherwise send out a v2 patch later today.
On 20/09/2021 04:47 PM, Rebecca Cran via groups.io wrote:
[SAMI] Minor. I think it should be possible to return from here. In that case the check below if (Index == NumCpus) is not needed and EFI_NOT_FOUND can be returned at the end of the function.+ + for (Index = 0; Index < NumCpus; Index++) { + Status = Mp->GetProcessorInfo (Mp, Index, &CpuInfo); + ASSERT_EFI_ERROR (Status); + if ((CpuInfo.StatusFlag & PROCESSOR_ENABLED_BIT) && + !(CpuInfo.StatusFlag & PROCESSOR_AS_BSP_BIT)) { + if (IndexOfEnabledCpuToUse == IndexOfEnabledCpu) { + *ProcessorIndex = Index; + Status = EFI_SUCCESS; + break;
That's true, but I prefer to avoid returning from within loops
like this.
[SAMI] The SwitchBsp call can only be performed by the current BSP. So, I am not sure if this would work in a for loop.+ + for (Index = 1; Index < NumCpus; Index++) { + Print (L"Switching BSP to Processor %d with EnableOldBSP FALSE...", Index); + Status = Mp->SwitchBSP (Mp, Index, FALSE);
That makes sense. I don't think there's a good way to test this
then, so I'll remove the SwitchBsp tests.
--
Rebecca Cran