]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/EbcDxe/EbcDebuggerHook.h
MdeModulePkg/EbcDxe: prepare support for EBC Debugger
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebuggerHook.h
1 /** @file
2 Prototypes for the EBC Debugger hooks.
3
4 Copyright (c) 2006 - 2016, 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 _EFI_EBC_DEBUGGER_HOOK_H_
16 #define _EFI_EBC_DEBUGGER_HOOK_H_
17
18 //
19 // Hooks in EbcInt.c
20 //
21 VOID
22 EbcDebuggerHookInit (
23 IN EFI_HANDLE Handle,
24 IN EFI_DEBUG_SUPPORT_PROTOCOL *EbcDebugProtocol
25 );
26
27 VOID
28 EbcDebuggerHookUnload (
29 VOID
30 );
31
32 VOID
33 EbcDebuggerHookEbcUnloadImage (
34 IN EFI_HANDLE Handle
35 );
36
37 //
38 // Hooks in EbcSupport.c
39 //
40 VOID
41 EbcDebuggerHookExecuteEbcImageEntryPoint (
42 IN VM_CONTEXT *VmPtr
43 );
44
45 VOID
46 EbcDebuggerHookEbcInterpret (
47 IN VM_CONTEXT *VmPtr
48 );
49
50 //
51 // Hooks in EbcExecute.c
52 //
53 VOID
54 EbcDebuggerHookExecuteStart (
55 IN VM_CONTEXT *VmPtr
56 );
57
58 VOID
59 EbcDebuggerHookExecuteEnd (
60 IN VM_CONTEXT *VmPtr
61 );
62
63 VOID
64 EbcDebuggerHookCALLStart (
65 IN VM_CONTEXT *VmPtr
66 );
67
68 VOID
69 EbcDebuggerHookCALLEnd (
70 IN VM_CONTEXT *VmPtr
71 );
72
73 VOID
74 EbcDebuggerHookCALLEXStart (
75 IN VM_CONTEXT *VmPtr
76 );
77
78 VOID
79 EbcDebuggerHookCALLEXEnd (
80 IN VM_CONTEXT *VmPtr
81 );
82
83 VOID
84 EbcDebuggerHookRETStart (
85 IN VM_CONTEXT *VmPtr
86 );
87
88 VOID
89 EbcDebuggerHookRETEnd (
90 IN VM_CONTEXT *VmPtr
91 );
92
93 VOID
94 EbcDebuggerHookJMPStart (
95 IN VM_CONTEXT *VmPtr
96 );
97
98 VOID
99 EbcDebuggerHookJMPEnd (
100 IN VM_CONTEXT *VmPtr
101 );
102
103 VOID
104 EbcDebuggerHookJMP8Start (
105 IN VM_CONTEXT *VmPtr
106 );
107
108 VOID
109 EbcDebuggerHookJMP8End (
110 IN VM_CONTEXT *VmPtr
111 );
112
113 #endif