mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 03:03:46 +01:00 
			
		
		
		
	https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
		
			
				
	
	
		
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Debug Agent Library provide source-level debug capability.
 | |
| 
 | |
| Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #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
 |