- opints -> points - sucessfully -> successfully - suported -> supported - hexidecimal -> hexadecimal - TURE -> TRUE - servity -> severity - Moudle -> Module - contiue -> continue - infomation -> information - malformated -> malformatted - Pepresentation -> Representation - opeque -> opaque - assocated -> associated - Libary -> Library - descrption -> description - paramter -> parameter - chracter -> character Cc: Feng Tian <feng.tian@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gary Lin <glin@suse.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Debug Agent Library provide source-level debug capability.
 | |
| 
 | |
| Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
 | |
| This program and the accompanying materials are licensed and made available under
 | |
| the terms and conditions of the BSD License that accompanies this distribution.
 | |
| The full text of the license may be found at
 | |
| http://opensource.org/licenses/bsd-license.php.
 | |
| 
 | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef __DEBUG_AGENT_LIB_H__
 | |
| #define __DEBUG_AGENT_LIB_H__
 | |
| 
 | |
| #define DEBUG_AGENT_INIT_PREMEM_SEC              1
 | |
| #define DEBUG_AGENT_INIT_POSTMEM_SEC             2
 | |
| #define DEBUG_AGENT_INIT_DXE_CORE                3
 | |
| #define DEBUG_AGENT_INIT_SMM                     4
 | |
| #define DEBUG_AGENT_INIT_ENTER_SMI               5
 | |
| #define DEBUG_AGENT_INIT_EXIT_SMI                6
 | |
| #define DEBUG_AGENT_INIT_S3                      7
 | |
| #define DEBUG_AGENT_INIT_DXE_AP                  8
 | |
| #define DEBUG_AGENT_INIT_PEI                     9
 | |
| #define DEBUG_AGENT_INIT_DXE_LOAD               10
 | |
| #define DEBUG_AGENT_INIT_DXE_UNLOAD             11
 | |
| #define DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64    12
 | |
| 
 | |
| //
 | |
| // Context for DEBUG_AGENT_INIT_POSTMEM_SEC
 | |
| //
 | |
| typedef struct {
 | |
|   UINTN          HeapMigrateOffset;
 | |
|   UINTN          StackMigrateOffset;
 | |
| } DEBUG_AGENT_CONTEXT_POSTMEM_SEC;
 | |
| 
 | |
| /**
 | |
|   Caller provided function to be invoked at the end of InitializeDebugAgent().
 | |
| 
 | |
|   Refer to the description for InitializeDebugAgent() for more details.
 | |
| 
 | |
|   @param[in] Context    The first input parameter of InitializeDebugAgent().
 | |
| 
 | |
| **/
 | |
| typedef
 | |
| VOID
 | |
| (EFIAPI * DEBUG_AGENT_CONTINUE)(
 | |
|   IN VOID        *Context
 | |
|   );
 | |
| 
 | |
| 
 | |
| /**
 | |
|   Initialize debug agent.
 | |
| 
 | |
|   This function is used to set up debug environment to support source level debugging.
 | |
|   If certain Debug Agent Library instance has to save some private data in the stack,
 | |
|   this function must work on the mode that doesn't return to the caller, then
 | |
|   the caller needs to wrap up all rest of logic after InitializeDebugAgent() into one
 | |
|   function and pass it into InitializeDebugAgent(). InitializeDebugAgent() is
 | |
|   responsible to invoke the passing-in function at the end of InitializeDebugAgent().
 | |
| 
 | |
|   If the parameter Function is not NULL, Debug Agent Library instance will invoke it by
 | |
|   passing in the Context to be its parameter.
 | |
| 
 | |
|   If Function() is NULL, Debug Agent Library instance will return after setup debug
 | |
|   environment.
 | |
| 
 | |
|   @param[in] InitFlag     Init flag is used to decide the initialize process.
 | |
|   @param[in] Context      Context needed according to InitFlag; it was optional.
 | |
|   @param[in] Function     Continue function called by debug agent library; it was
 | |
|                           optional.
 | |
| 
 | |
| **/
 | |
| VOID
 | |
| EFIAPI
 | |
| InitializeDebugAgent (
 | |
|   IN UINT32                InitFlag,
 | |
|   IN VOID                  *Context, OPTIONAL
 | |
|   IN DEBUG_AGENT_CONTINUE  Function  OPTIONAL
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Enable/Disable the interrupt of debug timer and return the interrupt state
 | |
|   prior to the operation.
 | |
| 
 | |
|   If EnableStatus is TRUE, enable the interrupt of debug timer.
 | |
|   If EnableStatus is FALSE, disable the interrupt of debug timer.
 | |
| 
 | |
|   @param[in] EnableStatus    Enable/Disable.
 | |
| 
 | |
|   @retval TRUE  Debug timer interrupt were enabled on entry to this call.
 | |
|   @retval FALSE Debug timer interrupt were disabled on entry to this call.
 | |
| 
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| SaveAndSetDebugTimerInterrupt (
 | |
|   IN BOOLEAN                EnableStatus
 | |
|   );
 | |
| 
 | |
| #endif
 |