Reviewed-by: Ray Ni <ray...@intel.com> > -----Original Message----- > From: Wu, Hao A <hao.a...@intel.com> > Sent: Tuesday, December 24, 2019 9:37 AM > To: devel@edk2.groups.io > Cc: Wu, Hao A <hao.a...@intel.com>; Dong, Eric <eric.d...@intel.com>; Ni, > Ray <ray...@intel.com>; Laszlo Ersek <ler...@redhat.com>; Zeng, Star > <star.z...@intel.com>; Fu, Siyuan <siyuan...@intel.com>; Kinney, Michael > D <michael.d.kin...@intel.com> > Subject: [PATCH v1 1/4] UefiCpuPkg/MpInitLib: Collect processors' CPUID & > Platform ID info > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2429 > > This commit will collect the CPUID and Platform ID information for each > processor within system. They will be stored in the CPU_AP_DATA structure. > > These information will be used in the next commit to decide whether a > microcode patch will be loaded into memory. > > Cc: Eric Dong <eric.d...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Star Zeng <star.z...@intel.com> > Cc: Siyuan Fu <siyuan...@intel.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Signed-off-by: Hao A Wu <hao.a...@intel.com> > --- > UefiCpuPkg/Library/MpInitLib/MpLib.h | 2 ++ > UefiCpuPkg/Library/MpInitLib/MpLib.c | 14 +++++++++++++- > 2 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.h > b/UefiCpuPkg/Library/MpInitLib/MpLib.h > index 8fa07b12c5..4440dc2701 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.h > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.h > @@ -122,6 +122,8 @@ typedef struct { > UINT64 CurrentTime; > UINT64 TotalTime; > EFI_EVENT WaitEvent; > + UINT32 ProcessorSignature; > + UINT8 PlatformId; > } CPU_AP_DATA; > > // > diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c > b/UefiCpuPkg/Library/MpInitLib/MpLib.c > index d32adf0780..d5077e080e 100644 > --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c > +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c > @@ -548,7 +548,8 @@ InitializeApData ( > IN UINT64 ApTopOfStack > ) > { > - CPU_INFO_IN_HOB *CpuInfoInHob; > + CPU_INFO_IN_HOB *CpuInfoInHob; > + MSR_IA32_PLATFORM_ID_REGISTER PlatformIdMsr; > > CpuInfoInHob = (CPU_INFO_IN_HOB *) (UINTN) CpuMpData- > >CpuInfoInHob; > CpuInfoInHob[ProcessorNumber].InitialApicId = GetInitialApicId (); > @@ -559,6 +560,17 @@ InitializeApData ( > CpuMpData->CpuData[ProcessorNumber].Waiting = FALSE; > CpuMpData->CpuData[ProcessorNumber].CpuHealthy = (BistData == 0) ? > TRUE : FALSE; > > + PlatformIdMsr.Uint64 = AsmReadMsr64 (MSR_IA32_PLATFORM_ID); > + CpuMpData->CpuData[ProcessorNumber].PlatformId = (UINT8) > PlatformIdMsr.Bits.PlatformId; > + > + AsmCpuid ( > + CPUID_VERSION_INFO, > + &CpuMpData->CpuData[ProcessorNumber].ProcessorSignature, > + NULL, > + NULL, > + NULL > + ); > + > InitializeSpinLock(&CpuMpData->CpuData[ProcessorNumber].ApLock); > SetApState (&CpuMpData->CpuData[ProcessorNumber], CpuStateIdle); > } > -- > 2.12.0.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#52520): https://edk2.groups.io/g/devel/message/52520 Mute This Topic: https://groups.io/mt/69242652/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-