From b6b55af34cf6e1ebcd2dacdd73252aa5f16bf41e Mon Sep 17 00:00:00 2001 From: vanjeff Date: Wed, 28 Oct 2009 07:53:32 +0000 Subject: UEFI Capsule HOB updating includes: 1. add BuildCapsuleHob() in HobLib.h 2. add related APIs implementation in hob library instances. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9378 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/PeiHobLib/HobLib.c | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'MdePkg/Library/PeiHobLib/HobLib.c') diff --git a/MdePkg/Library/PeiHobLib/HobLib.c b/MdePkg/Library/PeiHobLib/HobLib.c index 5ffc8549b4..f0cc665085 100644 --- a/MdePkg/Library/PeiHobLib/HobLib.c +++ b/MdePkg/Library/PeiHobLib/HobLib.c @@ -1,7 +1,7 @@ /** @file Provide Hob Library functions for Pei phase. -Copyright (c) 2007 - 2008, Intel Corporation
+Copyright (c) 2007 - 2009, Intel Corporation
All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -641,3 +641,30 @@ BuildMemoryAllocationHob ( // ZeroMem (Hob->AllocDescriptor.Reserved, sizeof (Hob->AllocDescriptor.Reserved)); } + +/** + Builds an UEFI Capsule HOB. + + This function builds an UEFI Capsule HOB. + 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 BaseAddress The physical memory-mapped base address of an UEFI capsule. + @param Length The length of the contiguous memory in bytes. + +**/ +VOID +EFIAPI +BuildCapsuleHob ( + IN EFI_PHYSICAL_ADDRESS BaseAddress, + IN UINT64 Length + ) +{ + EFI_HOB_UEFI_CAPSULE *Hob; + + Hob = InternalPeiCreateHob (EFI_HOB_TYPE_UEFI_CAPSULE, sizeof (EFI_HOB_UEFI_CAPSULE)); + + Hob->BaseAddress = BaseAddress; + Hob->Length = Length; +} -- cgit v1.2.3