diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c index 391b64e9f2..c0485b0519 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/CpuService.c @@ -171,6 +171,16 @@ SmmAddProcessor ( &gSmmCpuPrivate->ProcessorInfo[Index].Location.Thread ); + GetProcessorLocation2ByApicId ( + (UINT32)ProcessorId, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Package, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Die, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Tile, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Module, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Core, + &gSmmCpuPrivate->ProcessorInfo[Index].ExtendedInformation.Location2.Thread + ); + *ProcessorNumber = Index; gSmmCpuPrivate->Operation[Index] = SmmCpuAdd; return EFI_SUCCESS;