On 11/22/23 18:03, Laszlo Ersek wrote: > On 11/21/23 08:39, Yuanhao Xie wrote: >> Detect and apply Microcode on BSP, store BSP's MTRR setting only when >> CpuCount > 1. >> >> The purpose of this patch is to enhance the review process. >> The separation in this patch is aimed at facilitating a more >> straightforward review, with the ultimate goal of eliminating the >> microcode loading functionality for the second time Mp initialization >> >> Cc: Ray Ni <ray...@intel.com> >> Cc: Eric Dong <eric.d...@intel.com> >> Cc: Rahul Kumar <rahul1.ku...@intel.com> >> Cc: Tom Lendacky <thomas.lenda...@amd.com> >> Cc: Laszlo Ersek <ler...@redhat.com> >> Signed-off-by: Yuanhao Xie <yuanhao....@intel.com> >> --- >> UefiCpuPkg/Library/MpInitLib/MpLib.c | 18 +++++++++--------- >> 1 file changed, 9 insertions(+), 9 deletions(-) >> >> diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c >> b/UefiCpuPkg/Library/MpInitLib/MpLib.c >> index e8ffb99874..bb5d4188f0 100644 >> --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c >> +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c >> @@ -2236,19 +2236,19 @@ MpInitLibInitialize ( >> ShadowMicrocodeUpdatePatch (CpuMpData); >> } >> >> - // >> - // Detect and apply Microcode on BSP >> - // >> - MicrocodeDetect (CpuMpData, CpuMpData->BspNumber); >> - // >> - // Store BSP's MTRR setting >> - // >> - MtrrGetAllMtrrs (&CpuMpData->MtrrTable); >> - >> // >> // Wakeup APs to do some AP initialize sync (Microcode & MTRR) >> // >> if (CpuMpData->CpuCount > 1) { >> + // >> + // Detect and apply Microcode on BSP >> + // >> + MicrocodeDetect (CpuMpData, CpuMpData->BspNumber); >> + // >> + // Store BSP's MTRR setting >> + // >> + MtrrGetAllMtrrs (&CpuMpData->MtrrTable); >> + >> if (MpHandOff != NULL) { >> // >> // Only needs to use this flag for DXE phase to update the wake up > > I can't very well gauge the effect that this patch has on > MicrocodeDetect(). MicrocodeDetect() is a function that is not obvious > to me. However, microcode detection is disabled on OVMF, both via HOB > and via PCD (zero region size). So, I have nothing against *restricting* > microcode detection "further". > > Regarding MtrrTable: it seems that this field is only consumed in > ApMtrrSync() and ApInitializeSync(). I suppose those functions never run > when CpuMpData->CpuCount is 1. Thus restricting MtrrGetAllMtrrs() should > be fine as well.
sorry, small mistake: when writing this, I was already looking at the final state of the tree. Right after this patch is applied, only ApInitializeSync() exists! But that fact only makes my argument stronger -- so my R-b for this patch stands. > > Reviewed-by: Laszlo Ersek <ler...@redhat.com> > Thanks Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#111619): https://edk2.groups.io/g/devel/message/111619 Mute This Topic: https://groups.io/mt/102724547/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-