REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the DynamicTablesPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
		
			
				
	
	
		
			179 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			179 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   AML Debug Print.
 | |
| 
 | |
|   Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved. <BR>
 | |
|   Copyright (c) 2019 - 2020, Arm Limited. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| **/
 | |
| 
 | |
| #ifndef AML_PRINT_H_
 | |
| #define AML_PRINT_H_
 | |
| 
 | |
| /* This header file does not include internal Node definition,
 | |
|    i.e. AML_ROOT_NODE, AML_OBJECT_NODE, etc. The node definitions
 | |
|    must be included by the caller file. The function prototypes must
 | |
|    only expose AML_NODE_HANDLE, AML_ROOT_NODE_HANDLE, etc. node
 | |
|    definitions.
 | |
|    This allows to keep the functions defined here both internal and
 | |
|    potentially external. If necessary, any function of this file can
 | |
|    be exposed externally.
 | |
|    The Api folder is internal to the AmlLib, but should only use these
 | |
|    functions. They provide a "safe" way to interact with the AmlLib.
 | |
| */
 | |
| 
 | |
| #if !defined (MDEPKG_NDEBUG)
 | |
| 
 | |
|   #include <AmlInclude.h>
 | |
| 
 | |
| /**
 | |
|   @defgroup DbgPrintApis Print APIs for debugging.
 | |
|   @ingroup AMLLib
 | |
|   @{
 | |
|     Print APIs provide a way to print:
 | |
|      - A buffer;
 | |
|      - A (root/object/data) node;
 | |
|      - An AML tree/branch;
 | |
|      - The AML NameSpace from the root node.
 | |
|   @}
 | |
| */
 | |
| 
 | |
| /** This function performs a raw data dump of the ACPI table.
 | |
| 
 | |
|   @param  [in]  Ptr     Pointer to the start of the table buffer.
 | |
|   @param  [in]  Length  The length of the buffer.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgDumpRaw (
 | |
|   IN  CONST UINT8   *Ptr,
 | |
|   IN        UINT32  Length
 | |
|   );
 | |
| 
 | |
| /** Print Size chars at Buffer address.
 | |
| 
 | |
|   @ingroup DbgPrintApis
 | |
| 
 | |
|   @param  [in]  ErrorLevel    Error level for the DEBUG macro.
 | |
|   @param  [in]  Buffer        Buffer containing the chars.
 | |
|   @param  [in]  Size          Number of chars to print.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgPrintChars (
 | |
|   IN        UINT32  ErrorLevel,
 | |
|   IN  CONST CHAR8   *Buffer,
 | |
|   IN        UINT32  Size
 | |
|   );
 | |
| 
 | |
| /** Print an AML NameSeg.
 | |
|     Don't print trailing underscores ('_').
 | |
| 
 | |
|   @param  [in] Buffer   Buffer containing an AML NameSeg.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgPrintNameSeg (
 | |
|   IN  CONST CHAR8  *Buffer
 | |
|   );
 | |
| 
 | |
| /** Print an AML NameString.
 | |
| 
 | |
|   @param  [in] Buffer   Buffer containing an AML NameString.
 | |
|   @param  [in] NewLine  Print a newline char at the end of the NameString.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgPrintNameString (
 | |
|   IN  CONST CHAR8    *Buffer,
 | |
|   IN        BOOLEAN  NewLine
 | |
|   );
 | |
| 
 | |
| /** Print Node information.
 | |
| 
 | |
|   @ingroup DbgPrintApis
 | |
| 
 | |
|   @param  [in]  Node    Pointer to the Node to print.
 | |
|                         Can be a root/object/data node.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgPrintNode (
 | |
|   IN  AML_NODE_HANDLE  Node
 | |
|   );
 | |
| 
 | |
| /** Recursively print the subtree under the Node.
 | |
| 
 | |
|   @ingroup DbgPrintApis
 | |
| 
 | |
|   @param  [in]  Node    Pointer to the root of the subtree to print.
 | |
|                         Can be a root/object/data node.
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| AmlDbgPrintTree (
 | |
|   IN  AML_NODE_HANDLE  Node
 | |
|   );
 | |
| 
 | |
| /** Print the absolute pathnames in the AML namespace of
 | |
|     all the nodes in the tree starting from the Root node.
 | |
| 
 | |
|   @ingroup DbgPrintApis
 | |
| 
 | |
|   @param  [in]  RootNode    Pointer to a root node.
 | |
| 
 | |
|   @retval EFI_SUCCESS             The function completed successfully.
 | |
|   @retval EFI_BUFFER_TOO_SMALL    No space left in the buffer.
 | |
|   @retval EFI_INVALID_PARAMETER   Invalid parameter.
 | |
|   @retval EFI_OUT_OF_RESOURCES    Out of memory.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| AmlDbgPrintNameSpace (
 | |
|   IN  AML_ROOT_NODE_HANDLE  RootNode
 | |
|   );
 | |
| 
 | |
| /* Macros to encapsulate Aml Debug Print APIs.
 | |
| */
 | |
| 
 | |
| #define AMLDBG_DUMP_RAW(Ptr, Length)                  \
 | |
|           AmlDbgDumpRaw (Ptr, Length)
 | |
| 
 | |
| #define AMLDBG_PRINT_CHARS(ErrorLevel, Buffer, Size)  \
 | |
|           AmlDbgPrintChars (ErrorLevel, Buffer, Size)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESEG(Buffer)                  \
 | |
|           AmlDbgPrintNameSeg (Buffer)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESTR(Buffer, NewLine)          \
 | |
|           AmlDbgPrintNameString (Buffer,NewLine)
 | |
| 
 | |
| #define AMLDBG_PRINT_NODE(Node)                       \
 | |
|           AmlDbgPrintNode (Node)
 | |
| 
 | |
| #define AMLDBG_PRINT_TREE(Node)                       \
 | |
|           AmlDbgPrintTree (Node)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESPACE(RootNode)              \
 | |
|           AmlDbgPrintNameSpace (RootNode)
 | |
| 
 | |
| #else
 | |
| 
 | |
| #define AMLDBG_DUMP_RAW(Ptr, Length)
 | |
| 
 | |
| #define AMLDBG_PRINT_CHARS(ErrorLevel, Buffer, Size)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESEG(Buffer)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESTR(Buffer, NewLine)
 | |
| 
 | |
| #define AMLDBG_PRINT_NODE(Node)
 | |
| 
 | |
| #define AMLDBG_PRINT_TREE(Node)
 | |
| 
 | |
| #define AMLDBG_PRINT_NAMESPACE(RootNode)
 | |
| 
 | |
| #endif // MDEPKG_NDEBUG
 | |
| 
 | |
| #endif // AML_PRINT_H_
 |