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