mirror of https://github.com/acidanthera/audk.git
71 lines
1.8 KiB
C
71 lines
1.8 KiB
C
/** @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
|