Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: Xie, Yuanhao <yuanhao....@intel.com> > Sent: Monday, June 26, 2023 1:57 PM > To: devel@edk2.groups.io > Cc: Gerd Hoffmann <kra...@redhat.com>; Dong, Eric <eric.d...@intel.com>; Ni, > Ray <ray...@intel.com>; Kumar, Rahul R <rahul.r.ku...@intel.com>; Tom > Lendacky <thomas.lenda...@amd.com>; Xie, Yuanhao > <yuanhao....@intel.com> > Subject: [Patch V3 1/5] UefiCpuPkg: Refactor the logic for placing APs in > HltLoop. > > Refactor the logic for placing APs in HltLoop into a separate function. > > Cc: Gerd Hoffmann <kra...@redhat.com> > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Rahul Kumar <rahul1.ku...@intel.com> > Cc: Tom Lendacky <thomas.lenda...@amd.com> > Signed-off-by: Yuanhao Xie <yuanhao....@intel.com> > --- > UefiCpuPkg/Library/MpInitLib/MpLib.c | 35 ++++++++++++++++++++++++------- > ---- > 1 file changed, 24 insertions(+), 11 deletions(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index f1f2840714..9560b39220 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -636,6 +636,28 @@ InitializeApData ( > SetApState (&CpuMpData->CpuData[ProcessorNumber], CpuStateIdle); > } > > +/** > + This function place APs in Halt loop. > + > + @param[in] CpuMpData Pointer to CPU MP Data > +**/ > +VOID > +PlaceAPInHltLoop ( > + IN CPU_MP_DATA *CpuMpData > + ) > +{ > + while (TRUE) { > + DisableInterrupts (); > + if (CpuMpData->UseSevEsAPMethod) { > + SevEsPlaceApHlt (CpuMpData); > + } else { > + CpuSleep (); > + } > + > + CpuPause (); > + } > +} > + > /** > This function will be called from AP reset code if BSP uses WakeUpAP. > > @@ -812,19 +834,10 @@ ApWakeupFunction ( > // Place AP is specified loop mode > // > if (CpuMpData->ApLoopMode == ApInHltLoop) { > + PlaceAPInHltLoop (CpuMpData); > // > - // Place AP in HLT-loop > + // Never run here > // > - while (TRUE) { > - DisableInterrupts (); > - if (CpuMpData->UseSevEsAPMethod) { > - SevEsPlaceApHlt (CpuMpData); > - } else { > - CpuSleep (); > - } > - > - CpuPause (); > - } > } > > while (TRUE) { > -- > 2.36.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#106354): https://edk2.groups.io/g/devel/message/106354 Mute This Topic: https://groups.io/mt/99782476/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-