Skip to content

Commit

Permalink
[Cherry-Pick] MdeModulePkg: Add HobPrintLib header file
Browse files Browse the repository at this point in the history
Interface PrintHobList() is added to dump all HOBs info in the HobList.
Caller could specify a custom HOB print handler to replace the default
print handler when calling the interface.

Cc: Ray Ni <[email protected]>
Cc: Liming Gao <[email protected]>
Signed-off-by: Wei6 Xu <[email protected]>
  • Loading branch information
xuweiintel authored and apop5 committed Oct 31, 2024
1 parent d9cdd88 commit a07b83b
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
46 changes: 46 additions & 0 deletions MdeModulePkg/Include/Library/HobPrintLib.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/** @file
The library to print all the HOBs.
Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef HOB_PRINT_LIB_H_
#define HOB_PRINT_LIB_H_

/**
HOB Print Handler to print HOB information.
@param[in] HobStart A pointer to the HOB of type EFI_HOB_TYPE_GUID_EXTENSION.
@param[in] HobLength The length in bytes of the HOB of type EFI_HOB_TYPE_GUID_EXTENSION.
@retval EFI_SUCCESS If it completed successfully.
@retval EFI_UNSUPPORTED If the HOB type is not supported.
**/
typedef
EFI_STATUS
(*HOB_PRINT_HANDLER)(
IN VOID *Hob,
IN UINT16 HobLength
);

/**
Print all HOBs info from the HOB list.
If the input PrintHandler is not NULL, the PrintHandler will be processed first.
If PrintHandler returns EFI_SUCCESS, default HOB info print logic in PrintHobList
will be skipped.
@param[in] HobStart A pointer to the HOB list.
@param[in] PrintHandler A custom handler to print HOB info.
**/
VOID
EFIAPI
PrintHobList (
IN CONST VOID *HobStart,
IN HOB_PRINT_HANDLER PrintHandler OPTIONAL
);

#endif
4 changes: 4 additions & 0 deletions MdeModulePkg/MdeModulePkg.dec
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@
#
SpiHcPlatformLib|Include/Library/SpiHcPlatformLib.h

## @libraryclass Provides services to prints all HOB information.
#
HobPrintLib|Include/Library/HobPrintLib.h

## MU_CHANGE - Add AdvLoggerAccessLib to MdeModulePkg
## @libraryclass Provides an interface for AdvLogger through GetVariable
#
Expand Down

0 comments on commit a07b83b

Please sign in to comment.