UefiCpuPkg/MpInitLib: Save CPU MP Data pointer
In PeiMpInitLib, save CPU MP Data pointer into one local Guided HOB. In DxeMpInitLib, save CPU MP Data pointer into one global variable. Add helper functions GetCpuMpData()/SaveCpuMpData(). v5: 1. Move CPU_INIT_MP_LIB_HOB_GUID from MpLib.c to MpLib.h to make all C files visible. Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Feng Tian <feng.tian@intel.com> Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Michael Kinney <michael.d.kinney@intel.com>
This commit is contained in:
@ -13,6 +13,48 @@
|
||||
**/
|
||||
|
||||
#include "MpLib.h"
|
||||
CPU_MP_DATA *mCpuMpData = NULL;
|
||||
|
||||
/**
|
||||
Get the pointer to CPU MP Data structure.
|
||||
|
||||
@return The pointer to CPU MP Data structure.
|
||||
**/
|
||||
CPU_MP_DATA *
|
||||
GetCpuMpData (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (mCpuMpData != NULL);
|
||||
return mCpuMpData;
|
||||
}
|
||||
|
||||
/**
|
||||
Save the pointer to CPU MP Data structure.
|
||||
|
||||
@param[in] CpuMpData The pointer to CPU MP Data structure will be saved.
|
||||
**/
|
||||
VOID
|
||||
SaveCpuMpData (
|
||||
IN CPU_MP_DATA *CpuMpData
|
||||
)
|
||||
{
|
||||
mCpuMpData = CpuMpData;
|
||||
}
|
||||
|
||||
/**
|
||||
Initialize global data for MP support.
|
||||
|
||||
@param[in] CpuMpData The pointer to CPU MP Data structure.
|
||||
**/
|
||||
VOID
|
||||
InitMpGlobalData (
|
||||
IN CPU_MP_DATA *CpuMpData
|
||||
)
|
||||
{
|
||||
SaveCpuMpData (CpuMpData);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
This service executes a caller provided function on all enabled APs.
|
||||
|
Reference in New Issue
Block a user