| /** @file | |
| This library will provide services for handling HOB data. | |
| Copyright (c) 2024, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #ifndef HOB_PARSER_LIB_H_ | |
| #define HOB_PARSER_LIB_H_ | |
| /** | |
| * | |
| Add HOB into HOB list | |
| @param[in] Hob The HOB to be added into the HOB list. | |
| **/ | |
| VOID | |
| AddNewHob ( | |
| IN EFI_PEI_HOB_POINTERS *Hob | |
| ); | |
| /** | |
| Found the Resource Descriptor HOB that contains a range (Base, Top) | |
| @param[in] HobList Hob start address | |
| @param[in] Base Memory start address | |
| @param[in] Top Memory end address. | |
| @retval The pointer to the Resource Descriptor HOB. | |
| **/ | |
| EFI_HOB_RESOURCE_DESCRIPTOR * | |
| FindResourceDescriptorByRange ( | |
| IN VOID *HobList, | |
| IN EFI_PHYSICAL_ADDRESS Base, | |
| IN EFI_PHYSICAL_ADDRESS Top | |
| ); | |
| /** | |
| Find the highest below 4G memory resource descriptor, except the input Resource Descriptor. | |
| @param[in] HobList Hob start address | |
| @param[in] MinimalNeededSize Minimal needed size. | |
| @param[in] ExceptResourceHob Ignore this Resource Descriptor. | |
| @retval The pointer to the Resource Descriptor HOB. | |
| **/ | |
| EFI_HOB_RESOURCE_DESCRIPTOR * | |
| FindAnotherHighestBelow4GResourceDescriptor ( | |
| IN VOID *HobList, | |
| IN UINTN MinimalNeededSize, | |
| IN EFI_HOB_RESOURCE_DESCRIPTOR *ExceptResourceHob | |
| ); | |
| /** | |
| Check the HOB and decide if it is need inside Payload | |
| Payload maintainer may make decision which HOB is need or needn't | |
| Then add the check logic in the function. | |
| @param[in] Hob The HOB to check | |
| @retval TRUE If HOB is need inside Payload | |
| @retval FALSE If HOB is needn't inside Payload | |
| **/ | |
| BOOLEAN | |
| IsHobNeed ( | |
| EFI_PEI_HOB_POINTERS Hob | |
| ); | |
| #endif |