MdePkg/IntelFrameworkPkg HobLib: Add BuildResourceDescriptorWithOwnerHob() API.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16230 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Star Zeng
2014-10-27 00:42:57 +00:00
committed by lzeng14
parent 956f71b611
commit f1e2b7283e
5 changed files with 175 additions and 4 deletions

View File

@@ -300,6 +300,46 @@ BuildModuleHob (
Hob->EntryPoint = EntryPoint;
}
/**
Builds a HOB that describes a chunk of system memory with Owner GUID.
This function builds a HOB that describes a chunk of system memory.
It can only be invoked during PEI phase;
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
If there is no additional space for HOB creation, then ASSERT().
@param ResourceType The type of resource described by this HOB.
@param ResourceAttribute The resource attributes of the memory described by this HOB.
@param PhysicalStart The 64 bit physical address of memory described by this HOB.
@param NumberOfBytes The length of the memory described by this HOB in bytes.
@param OwnerGUID GUID for the owner of this resource.
**/
VOID
EFIAPI
BuildResourceDescriptorWithOwnerHob (
IN EFI_RESOURCE_TYPE ResourceType,
IN EFI_RESOURCE_ATTRIBUTE_TYPE ResourceAttribute,
IN EFI_PHYSICAL_ADDRESS PhysicalStart,
IN UINT64 NumberOfBytes,
IN EFI_GUID *OwnerGUID
)
{
EFI_HOB_RESOURCE_DESCRIPTOR *Hob;
EFI_STATUS Status;
Status = PeiServicesCreateHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, sizeof (EFI_HOB_RESOURCE_DESCRIPTOR), (void **)&Hob);
ASSERT_EFI_ERROR (Status);
Hob->ResourceType = ResourceType;
Hob->ResourceAttribute = ResourceAttribute;
Hob->PhysicalStart = PhysicalStart;
Hob->ResourceLength = NumberOfBytes;
CopyGuid (&Hob->Owner, OwnerGUID);
}
/**
Builds a HOB that describes a chunk of system memory.