UefiCpuPkg/MpInitLib: Use BSP uCode for APs if possible.
Search uCode costs much time, if AP has same processor type with BSP, AP can use BSP saved uCode info to get better performance. This change enables this solution. Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Dong <eric.dong@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Regression-tested-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
This commit is contained in:
@@ -245,6 +245,11 @@ struct _CPU_MP_DATA {
|
||||
BOOLEAN TimerInterruptState;
|
||||
UINT64 MicrocodePatchAddress;
|
||||
UINT64 MicrocodePatchRegionSize;
|
||||
|
||||
UINT32 ProcessorSignature;
|
||||
UINT32 ProcessorFlags;
|
||||
UINT64 MicrocodeDataAddress;
|
||||
UINT32 MicrocodeRevision;
|
||||
};
|
||||
|
||||
extern EFI_GUID mCpuInitMpLibHobGuid;
|
||||
@@ -546,11 +551,13 @@ CheckAndUpdateApsStatus (
|
||||
/**
|
||||
Detect whether specified processor can find matching microcode patch and load it.
|
||||
|
||||
@param[in] CpuMpData The pointer to CPU MP Data structure.
|
||||
@param[in] CpuMpData The pointer to CPU MP Data structure.
|
||||
@param[in] IsBspCallIn Indicate whether the caller is BSP or not.
|
||||
**/
|
||||
VOID
|
||||
MicrocodeDetect (
|
||||
IN CPU_MP_DATA *CpuMpData
|
||||
IN CPU_MP_DATA *CpuMpData,
|
||||
IN BOOLEAN IsBspCallIn
|
||||
);
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user