The EBC Debugger defines its own version for these calls in EbdHooks.c.\r
\r
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
-#include <Uefi.h>\r
-#include <Protocol/DebugSupport.h>\r
-#include <Protocol/EbcVmTest.h>\r
+#include "EbcDebuggerHook.h"\r
+\r
+/**\r
+\r
+ The hook in InitializeEbcDriver.\r
\r
+ @param Handle - The EbcDebugProtocol handle.\r
+ @param EbcDebugProtocol - The EbcDebugProtocol interface.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookInit (\r
IN EFI_HANDLE Handle,\r
return;\r
}\r
\r
+/**\r
+\r
+The hook in UnloadImage for EBC Interpreter.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookUnload (\r
VOID\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in EbcUnloadImage.\r
+ Currently do nothing here.\r
+\r
+ @param Handle The EbcImage handle.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookEbcUnloadImage (\r
- IN EFI_HANDLE Handle\r
+ IN EFI_HANDLE Handle\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteEbcImageEntryPoint.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookExecuteEbcImageEntryPoint (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteEbcImageEntryPoint.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookEbcInterpret (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+ The hook in EbcExecute, before ExecuteFunction.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookExecuteStart (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+ The hook in EbcExecute, after ExecuteFunction.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookExecuteEnd (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteCALL, before move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookCALLStart (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteCALL, after move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookCALLEnd (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteCALL, before call EbcLLCALLEX.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookCALLEXStart (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteCALL, after call EbcLLCALLEX.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookCALLEXEnd (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteRET, before move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookRETStart (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteRET, after move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookRETEnd (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteJMP, before move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookJMPStart (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteJMP, after move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookJMPEnd (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteJMP8, before move IP.\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookJMP8Start (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r
}\r
\r
+/**\r
+\r
+ The hook in ExecuteJMP8, after move IP..\r
+\r
+ @param VmPtr - pointer to VM context.\r
+\r
+**/\r
VOID\r
EbcDebuggerHookJMP8End (\r
- IN VM_CONTEXT *VmPtr\r
+ IN VM_CONTEXT *VmPtr\r
)\r
{\r
return;\r