]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbDisasmSupport.h
MdeModulePkg/EbcDxe: Make the comments align with EDKII coding style
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbDisasmSupport.h
1 /** @file
2
3 Copyright (c) 2007, Intel Corporation All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12
13 **/
14
15 #ifndef _EFI_EDB_DISASM_SUPPORT_H_
16 #define _EFI_EDB_DISASM_SUPPORT_H_
17
18 #include <Uefi.h>
19
20 #define EDB_BYTECODE_NUMBER_IN_LINE 5
21
22 #ifdef EFI32
23 #define EDB_PRINT_ADDRESS_FORMAT L"%08x: "
24 #else
25 // To use 012l instead of 016l because space is not enough
26 #define EDB_PRINT_ADDRESS_FORMAT L"%012lx: "
27 #endif
28
29 #define OPCODE_MAX 0x40
30
31 #define EDB_INSTRUCTION_NAME_MAX_LENGTH 10
32 #define EDB_INSTRUCTION_NAME_MAX_SIZE (EDB_INSTRUCTION_NAME_MAX_LENGTH * sizeof(CHAR16))
33 #define EDB_INSTRUCTION_CONTENT_MAX_LENGTH 30
34 #define EDB_INSTRUCTION_CONTENT_MAX_SIZE (EDB_INSTRUCTION_CONTENT_MAX_LENGTH * sizeof(CHAR16))
35
36 VOID
37 EdbSetOffset (
38 IN UINTN InstructionNameOffset,
39 IN UINTN InstructionContentOffset
40 );
41
42 CHAR16 *
43 EdbPreInstructionString (
44 VOID
45 );
46
47 CHAR16 *
48 EdbPostInstructionString (
49 VOID
50 );
51
52 UINTN
53 EdbPrintInstructionName (
54 IN CHAR16 *Name
55 );
56
57 BOOLEAN
58 EdbGetNaturalIndex16 (
59 IN UINT16 Data16,
60 OUT UINTN *NaturalUnits,
61 OUT UINTN *ConstantUnits
62 );
63
64 BOOLEAN
65 EdbGetNaturalIndex32 (
66 IN UINT32 Data32,
67 OUT UINTN *NaturalUnits,
68 OUT UINTN *ConstantUnits
69 );
70
71 BOOLEAN
72 EdbGetNaturalIndex64 (
73 IN UINT64 Data64,
74 OUT UINT64 *NaturalUnits,
75 OUT UINT64 *ConstantUnits
76 );
77
78 UINTN
79 EdbPrintRawIndexData16 (
80 IN UINT16 Data16
81 );
82
83 UINTN
84 EdbPrintRawIndexData32 (
85 IN UINT32 Data32
86 );
87
88 UINTN
89 EdbPrintRawIndexData64 (
90 IN UINT64 Data64
91 );
92
93 UINTN
94 EdbPrintRegister1 (
95 IN UINT8 Operands
96 );
97
98 UINTN
99 EdbPrintRegister2 (
100 IN UINT8 Operands
101 );
102
103 UINTN
104 EdbPrintDedicatedRegister1 (
105 IN UINT8 Operands
106 );
107
108 UINTN
109 EdbPrintDedicatedRegister2 (
110 IN UINT8 Operands
111 );
112
113 UINTN
114 EdbPrintIndexData (
115 IN BOOLEAN Sign,
116 IN UINTN NaturalUnits,
117 IN UINTN ConstantUnits
118 );
119
120 UINTN
121 EdbPrintIndexData64 (
122 IN BOOLEAN Sign,
123 IN UINT64 NaturalUnits,
124 IN UINT64 ConstantUnits
125 );
126
127 UINTN
128 EdbPrintImmData8 (
129 IN UINT8 Data
130 );
131
132 UINTN
133 EdbPrintImmData16 (
134 IN UINT16 Data
135 );
136
137 UINTN
138 EdbPrintImmData32 (
139 IN UINT32 Data
140 );
141
142 UINTN
143 EdbPrintImmData64 (
144 IN UINT64 Data
145 );
146
147 UINTN
148 EdbPrintImmDatan (
149 IN UINTN Data
150 );
151
152 UINTN
153 EdbPrintImmData64n (
154 IN UINT64 Data64
155 );
156
157 UINTN
158 EdbPrintData8 (
159 IN UINT8 Data8
160 );
161
162 UINTN
163 EdbPrintData16 (
164 IN UINT16 Data16
165 );
166
167 UINTN
168 EdbPrintData32 (
169 IN UINT32 Data32
170 );
171
172 UINTN
173 EdbPrintData64 (
174 IN UINT64 Data64
175 );
176
177 UINTN
178 EdbPrintDatan (
179 IN UINTN Data
180 );
181
182 UINTN
183 EdbPrintData64n (
184 IN UINT64 Data64
185 );
186
187 UINTN
188 EdbPrintData8s (
189 IN UINT8 Data8
190 );
191
192 UINTN
193 EdbPrintData16s (
194 IN UINT16 Data16
195 );
196
197 UINTN
198 EdbPrintData32s (
199 IN UINT32 Data32
200 );
201
202 UINTN
203 EdbPrintData64s (
204 IN UINT64 Data64
205 );
206
207 UINTN
208 EdbPrintComma (
209 VOID
210 );
211
212 UINTN
213 EdbFindAndPrintSymbol (
214 IN UINTN Address
215 );
216
217 VOID
218 EdbPrintRaw (
219 IN EFI_PHYSICAL_ADDRESS InstructionAddress,
220 IN UINTN InstructionNumber
221 );
222
223 EFI_STATUS
224 EdbShowDisasm (
225 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
226 IN EFI_SYSTEM_CONTEXT SystemContext
227 );
228
229 UINT64
230 GetRegisterValue (
231 IN EFI_SYSTEM_CONTEXT SystemContext,
232 IN UINT8 Index
233 );
234
235 #endif