mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 18:56:09 +00:00 
			
		
		
		
	 1436aea4d5
			
		
	
	
		1436aea4d5
		
	
	
	
	
		
			
			REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the MdeModulePkg 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: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			245 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			245 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
| Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _EFI_EDB_SYMBOL_H_
 | |
| #define _EFI_EDB_SYMBOL_H_
 | |
| 
 | |
| #include <Uefi.h>
 | |
| 
 | |
| //
 | |
| // The default base address is 0x10000000
 | |
| //
 | |
| #define EFI_DEBUGGER_DEFAULT_LINK_IMAGEBASE  0x10000000
 | |
| 
 | |
| #define EFI_DEBUGGER_MAX_SYMBOL_ADDRESS_DELTA_VALUE  0x100000 // 1 M delta
 | |
| 
 | |
| typedef enum {
 | |
|   EdbMatchSymbolTypeSameAdderss,
 | |
|   EdbMatchSymbolTypeNearestAddress,
 | |
|   EdbMatchSymbolTypeLowerAddress,
 | |
|   EdbMatchSymbolTypeUpperAddress,
 | |
|   EdbMatchSymbolTypeMax,
 | |
| } EDB_MATCH_SYMBOL_TYPE;
 | |
| 
 | |
| typedef enum {
 | |
|   EdbEbcImageRvaSearchTypeAny,
 | |
|   EdbEbcImageRvaSearchTypeFirst,
 | |
|   EdbEbcImageRvaSearchTypeLast,
 | |
|   EdbEbcImageRvaSearchTypeMax,
 | |
| } EDB_EBC_IMAGE_RVA_SEARCH_TYPE;
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Find symbol by address.
 | |
| 
 | |
|   @param  Address         - Symbol address
 | |
|   @param  Type            - Search type
 | |
|   @param  RetObject       - Symbol object
 | |
|   @param  RetEntry        - Symbol entry
 | |
| 
 | |
|   @return Nearest symbol address
 | |
| 
 | |
| **/
 | |
| UINTN
 | |
| EbdFindSymbolAddress (
 | |
|   IN UINTN                        Address,
 | |
|   IN EDB_MATCH_SYMBOL_TYPE        Type,
 | |
|   OUT EFI_DEBUGGER_SYMBOL_OBJECT  **Object,
 | |
|   OUT EFI_DEBUGGER_SYMBOL_ENTRY   **Entry
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Load symbol file by name.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  FileName        - Symbol file name
 | |
|   @param  BufferSize      - Symbol file buffer size
 | |
|   @param  Buffer          - Symbol file buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS - load symbol successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbLoadSymbol (
 | |
|   IN EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN CHAR16                     *FileName,
 | |
|   IN UINTN                      BufferSize,
 | |
|   IN VOID                       *Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Unload symbol file by name.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  FileName        - Symbol file name
 | |
| 
 | |
|   @retval EFI_SUCCESS - unload symbol successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbUnloadSymbol (
 | |
|   IN EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN CHAR16                     *FileName
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Patch symbol RVA.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  FileName        - Symbol file name
 | |
|   @param  SearchType      - Search type for Object
 | |
| 
 | |
|   @retval EFI_SUCCESS   - Patch symbol RVA successfully
 | |
|   @retval EFI_NOT_FOUND - Symbol RVA base not found
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbPatchSymbolRVA (
 | |
|   IN EFI_DEBUGGER_PRIVATE_DATA      *DebuggerPrivate,
 | |
|   IN CHAR16                         *FileName,
 | |
|   IN EDB_EBC_IMAGE_RVA_SEARCH_TYPE  SearchType
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Load code.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  MapFileName     - Symbol file name
 | |
|   @param  FileName        - Code file name
 | |
|   @param  BufferSize      - Code file buffer size
 | |
|   @param  Buffer          - Code file buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS - Code loaded successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbLoadCode (
 | |
|   IN EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN CHAR16                     *MapFileName,
 | |
|   IN CHAR16                     *FileName,
 | |
|   IN UINTN                      BufferSize,
 | |
|   IN VOID                       *Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Unload code.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  MapFileName     - Symbol file name
 | |
|   @param  FileName        - Code file name
 | |
|   @param  Buffer          - Code file buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS - Code unloaded successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbUnloadCode (
 | |
|   IN EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN CHAR16                     *MapFileName,
 | |
|   IN CHAR16                     *FileName,
 | |
|   OUT VOID                      **Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Add code buffer.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  MapFileName     - Symbol file name
 | |
|   @param  CodeFileName    - Code file name
 | |
|   @param  SourceBufferSize- Code buffer size
 | |
|   @param  SourceBuffer    - Code buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS - CodeBuffer added successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbAddCodeBuffer (
 | |
|   IN     EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN     CHAR16                     *MapFileName,
 | |
|   IN     CHAR16                     *CodeFileName,
 | |
|   IN     UINTN                      SourceBufferSize,
 | |
|   IN     VOID                       *SourceBuffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Delete code buffer.
 | |
| 
 | |
|   @param  DebuggerPrivate - EBC Debugger private data structure
 | |
|   @param  MapFileName     - Symbol file name
 | |
|   @param  CodeFileName    - Code file name
 | |
|   @param  SourceBuffer    - Code buffer
 | |
| 
 | |
|   @retval EFI_SUCCESS - CodeBuffer deleted successfully
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EdbDeleteCodeBuffer (
 | |
|   IN     EFI_DEBUGGER_PRIVATE_DATA  *DebuggerPrivate,
 | |
|   IN     CHAR16                     *MapFileName,
 | |
|   IN     CHAR16                     *CodeFileName,
 | |
|   IN     VOID                       *SourceBuffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Find the symbol string according to address.
 | |
| 
 | |
|   @param  Address         - Symbol address
 | |
| 
 | |
|   @return Symbol string
 | |
| 
 | |
| **/
 | |
| CHAR8 *
 | |
| FindSymbolStr (
 | |
|   IN UINTN  Address
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Print source.
 | |
| 
 | |
|   @param  Address         - Instruction address
 | |
|   @param  IsPrint         - Whether need to print
 | |
| 
 | |
|   @retval 1 - find the source
 | |
|   @retval 0 - not find the source
 | |
| 
 | |
| **/
 | |
| UINTN
 | |
| EdbPrintSource (
 | |
|   IN UINTN    Address,
 | |
|   IN BOOLEAN  IsPrint
 | |
|   );
 | |
| 
 | |
| /**
 | |
| 
 | |
|   Convert a symbol to an address.
 | |
| 
 | |
|   @param  Symbol          - Symbol name
 | |
|   @param  Address         - Symbol address
 | |
| 
 | |
|   @retval EFI_SUCCESS    - symbol found and address returned.
 | |
|   @retval EFI_NOT_FOUND  - symbol not found
 | |
|   @retval EFI_NO_MAPPING - duplicated symbol not found
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| Symboltoi (
 | |
|   IN CHAR16  *Symbol,
 | |
|   OUT UINTN  *Address
 | |
|   );
 | |
| 
 | |
| #endif
 |