Publish FspHob to PEI Hob by default.
because most platforms use such logic. PcdDataBaseHobGuid GuidHob is excluded because PCD database in FSP is different with the one in PEI. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: "Yao, Jiewen" <jiewen.yao@intel.com> Reviewed-by: "Ma, Maurice" <maurice.ma@intel.com> Reviewed-by: "Rangarajan, Ravi P" <ravi.p.rangarajan@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18687 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
|
||||
#include <Guid/GuidHobFspEas.h>
|
||||
#include <Guid/MemoryTypeInformation.h>
|
||||
#include <Guid/PcdDataBaseHobGuid.h>
|
||||
#include <Ppi/Capsule.h>
|
||||
|
||||
//
|
||||
@@ -334,6 +335,41 @@ FspHobProcessForMemoryResource (
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
Process FSP HOB list
|
||||
|
||||
@param[in] FspHobList Pointer to the HOB data structure produced by FSP.
|
||||
|
||||
**/
|
||||
VOID
|
||||
ProcessFspHobList (
|
||||
IN VOID *FspHobList
|
||||
)
|
||||
{
|
||||
EFI_PEI_HOB_POINTERS FspHob;
|
||||
|
||||
FspHob.Raw = FspHobList;
|
||||
|
||||
//
|
||||
// Add all the HOBs from FSP binary to FSP wrapper
|
||||
//
|
||||
while (!END_OF_HOB_LIST (FspHob)) {
|
||||
if (FspHob.Header->HobType == EFI_HOB_TYPE_GUID_EXTENSION) {
|
||||
//
|
||||
// Skip FSP binary creates PcdDataBaseHobGuid
|
||||
//
|
||||
if (!CompareGuid(&FspHob.Guid->Name, &gPcdDataBaseHobGuid)) {
|
||||
BuildGuidDataHob (
|
||||
&FspHob.Guid->Name,
|
||||
GET_GUID_HOB_DATA(FspHob),
|
||||
GET_GUID_HOB_DATA_SIZE(FspHob)
|
||||
);
|
||||
}
|
||||
}
|
||||
FspHob.Raw = GET_NEXT_HOB (FspHob);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
BIOS process FspBobList for other data (not Memory Resource Descriptor).
|
||||
|
||||
@@ -347,6 +383,8 @@ FspHobProcessForOtherData (
|
||||
IN VOID *FspHobList
|
||||
)
|
||||
{
|
||||
ProcessFspHobList (FspHobList);
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user