diff options
author | Star Zeng <star.zeng@intel.com> | 2014-10-27 00:42:57 +0000 |
---|---|---|
committer | lzeng14 <lzeng14@Edk2> | 2014-10-27 00:42:57 +0000 |
commit | f1e2b7283ea6fa12691edee22aca403c3b3af24c (patch) | |
tree | e88d6a8d5d7b05ea78ac49d0ad94a9aa8d6e9a2d /MdePkg/Library/PeiHobLib/HobLib.c | |
parent | 956f71b611b7677bc0605b95c4e67af413aaab86 (diff) | |
download | edk2-f1e2b7283ea6fa12691edee22aca403c3b3af24c.zip edk2-f1e2b7283ea6fa12691edee22aca403c3b3af24c.tar.gz edk2-f1e2b7283ea6fa12691edee22aca403c3b3af24c.tar.bz2 |
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
Diffstat (limited to 'MdePkg/Library/PeiHobLib/HobLib.c')
-rw-r--r-- | MdePkg/Library/PeiHobLib/HobLib.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/MdePkg/Library/PeiHobLib/HobLib.c b/MdePkg/Library/PeiHobLib/HobLib.c index 32523d4..a608325 100644 --- a/MdePkg/Library/PeiHobLib/HobLib.c +++ b/MdePkg/Library/PeiHobLib/HobLib.c @@ -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.
|