On 07/12/18 12:49, Eric Dong wrote: > The SDM requires only one thread per core to load the > microcode. > > This change enables this solution. > > Cc: Laszlo Ersek <[email protected]> > Cc: Ruiyu Ni <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Eric Dong <[email protected]> > --- > UefiCpuPkg/Library/MpInitLib/Microcode.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/UefiCpuPkg/Library/MpInitLib/Microcode.c > b/UefiCpuPkg/Library/MpInitLib/Microcode.c > index 351975e2a2..122c23469d 100644 > --- a/UefiCpuPkg/Library/MpInitLib/Microcode.c > +++ b/UefiCpuPkg/Library/MpInitLib/Microcode.c > @@ -61,6 +61,7 @@ MicrocodeDetect ( > VOID *MicrocodeData; > MSR_IA32_PLATFORM_ID_REGISTER PlatformIdMsr; > UINT32 ProcessorFlags; > + UINT32 ThreadId; > > if (CpuMpData->MicrocodePatchRegionSize == 0) { > // > @@ -77,6 +78,14 @@ MicrocodeDetect ( > return; > } > > + GetProcessorLocationByApicId (GetInitialApicId (), NULL, NULL, &ThreadId); > + if (ThreadId != 0) { > + // > + // Skip loading microcode if it is not the first thread in one core. > + // > + return; > + } > + > ExtendedTableLength = 0; > // > // Here data of CPUID leafs have not been collected into context buffer, so >
Acked-by: Laszlo Ersek <[email protected]> _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

