1 /** @file 2 Header file for Sec Core Debug Agent Library instance. 3 4 Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php. 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 **/ 14 15 #ifndef _SEC_CORE_DEBUG_AGENT_LIB_H_ 16 #define _SEC_CORE_DEBUG_AGENT_LIB_H_ 17 18 #include <PiPei.h> 19 #include <Ppi/MemoryDiscovered.h> 20 #include <Library/PeiServicesLib.h> 21 #include <Library/MemoryAllocationLib.h> 22 #include "DebugAgent.h" 23 24 typedef struct { 25 UINT32 InitFlag; 26 VOID *Context; 27 DEBUG_AGENT_CONTINUE Function; 28 } DEBUG_AGENT_PHASE2_CONTEXT; 29 30 /** 31 Caller provided function to be invoked at the end of DebugPortInitialize(). 32 33 Refer to the description for DebugPortInitialize() for more details. 34 35 @param[in] Context The first input argument of DebugPortInitialize(). 36 @param[in] DebugPortHandle Debug port handle created by Debug Communication Library. 37 38 **/ 39 VOID 40 EFIAPI 41 InitializeDebugAgentPhase2 ( 42 IN VOID *Context, 43 IN DEBUG_PORT_HANDLE DebugPortHandle 44 ); 45 46 /** 47 Debug Agent provided notify callback function on Memory Discovered PPI. 48 49 @param[in] PeiServices Indirect reference to the PEI Services Table. 50 @param[in] NotifyDescriptor Address of the notification descriptor data structure. 51 @param[in] Ppi Address of the PPI that was installed. 52 53 @retval EFI_SUCCESS If the function completed successfully. 54 55 **/ 56 EFI_STATUS 57 EFIAPI 58 DebugAgentCallbackMemoryDiscoveredPpi ( 59 IN EFI_PEI_SERVICES **PeiServices, 60 IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor, 61 IN VOID *Ppi 62 ); 63 64 #endif 65 66