2 Prototypes for the EBC Debugger hooks.
4 Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
9 #ifndef _EFI_EBC_DEBUGGER_HOOK_H_
10 #define _EFI_EBC_DEBUGGER_HOOK_H_
14 #include <Protocol/DebugSupport.h>
15 #include <Protocol/EbcVmTest.h>
18 The VM interpreter calls this function when an exception is detected.
20 @param ExceptionType Specifies the processor exception detected.
21 @param ExceptionFlags Specifies the exception context.
22 @param VmPtr Pointer to a VM context for passing info to the
25 @retval EFI_SUCCESS This function completed successfully.
29 EbcDebugSignalException (
30 IN EFI_EXCEPTION_TYPE ExceptionType
,
31 IN EXCEPTION_FLAGS ExceptionFlags
,
37 The hook in InitializeEbcDriver.
39 @param Handle - The EbcDebugProtocol handle.
40 @param EbcDebugProtocol - The EbcDebugProtocol interface.
46 IN EFI_DEBUG_SUPPORT_PROTOCOL
*EbcDebugProtocol
51 The hook in UnloadImage for EBC Interpreter.
55 EbcDebuggerHookUnload (
61 The hook in EbcUnloadImage.
62 Currently do nothing here.
64 @param Handle The EbcImage handle.
68 EbcDebuggerHookEbcUnloadImage (
77 @param VmPtr - pointer to VM context.
81 EbcDebuggerHookExecuteEbcImageEntryPoint (
87 The hook in ExecuteEbcImageEntryPoint.
89 @param VmPtr - pointer to VM context.
93 EbcDebuggerHookEbcInterpret (
99 The hook in EbcExecute, before ExecuteFunction.
101 @param VmPtr - pointer to VM context.
105 EbcDebuggerHookExecuteStart (
110 The hook in EbcExecute, after ExecuteFunction.
112 @param VmPtr - pointer to VM context.
116 EbcDebuggerHookExecuteEnd (
121 The hook in ExecuteCALL, before move IP.
123 @param VmPtr - pointer to VM context.
127 EbcDebuggerHookCALLStart (
133 The hook in ExecuteCALL, after move IP.
135 @param VmPtr - pointer to VM context.
139 EbcDebuggerHookCALLEnd (
145 The hook in ExecuteCALL, before call EbcLLCALLEX.
147 @param VmPtr - pointer to VM context.
151 EbcDebuggerHookCALLEXStart (
157 The hook in ExecuteCALL, after call EbcLLCALLEX.
159 @param VmPtr - pointer to VM context.
163 EbcDebuggerHookCALLEXEnd (
169 The hook in ExecuteRET, before move IP.
171 @param VmPtr - pointer to VM context.
175 EbcDebuggerHookRETStart (
181 The hook in ExecuteRET, after move IP.
182 It will record trace information.
184 @param VmPtr - pointer to VM context.
188 EbcDebuggerHookRETEnd (
195 The hook in ExecuteJMP, before move IP.
197 @param VmPtr - pointer to VM context.
201 EbcDebuggerHookJMPStart (
207 The hook in ExecuteJMP, after move IP.
209 @param VmPtr - pointer to VM context.
213 EbcDebuggerHookJMPEnd (
219 The hook in ExecuteJMP8, before move IP.
221 @param VmPtr - pointer to VM context.
225 EbcDebuggerHookJMP8Start (
231 The hook in ExecuteJMP8, after move IP..
233 @param VmPtr - pointer to VM context.
237 EbcDebuggerHookJMP8End (