TianoCore EDK2 master
Loading...
Searching...
No Matches
EdbDisasmSupport.h
Go to the documentation of this file.
1
9#ifndef _EFI_EDB_DISASM_SUPPORT_H_
10#define _EFI_EDB_DISASM_SUPPORT_H_
11
12#include <Uefi.h>
13
14#define EDB_BYTECODE_NUMBER_IN_LINE 5
15
16#ifdef EFI32
17#define EDB_PRINT_ADDRESS_FORMAT L"%08x: "
18#else
19// To use 012l instead of 016l because space is not enough
20#define EDB_PRINT_ADDRESS_FORMAT L"%012lx: "
21#endif
22
23#define OPCODE_MAX 0x40
24
25#define EDB_INSTRUCTION_NAME_MAX_LENGTH 10
26#define EDB_INSTRUCTION_NAME_MAX_SIZE (EDB_INSTRUCTION_NAME_MAX_LENGTH * sizeof(CHAR16))
27#define EDB_INSTRUCTION_CONTENT_MAX_LENGTH 30
28#define EDB_INSTRUCTION_CONTENT_MAX_SIZE (EDB_INSTRUCTION_CONTENT_MAX_LENGTH * sizeof(CHAR16))
29
38VOID
40 IN UINTN InstructionNameOffset,
41 IN UINTN InstructionContentOffset
42 );
43
51CHAR16 *
53 VOID
54 );
55
63CHAR16 *
65 VOID
66 );
67
79 IN CHAR16 *Name
80 );
81
93BOOLEAN
95 IN UINT16 Data16,
96 OUT UINTN *NaturalUnits,
97 OUT UINTN *ConstantUnits
98 );
99
111BOOLEAN
113 IN UINT32 Data32,
114 OUT UINTN *NaturalUnits,
115 OUT UINTN *ConstantUnits
116 );
117
129BOOLEAN
131 IN UINT64 Data64,
132 OUT UINT64 *NaturalUnits,
133 OUT UINT64 *ConstantUnits
134 );
135
145UINTN
147 IN UINT16 Data16
148 );
149
159UINTN
161 IN UINT32 Data32
162 );
163
173UINTN
175 IN UINT64 Data64
176 );
177
187UINTN
189 IN UINT8 Operands
190 );
191
201UINTN
203 IN UINT8 Operands
204 );
205
215UINTN
217 IN UINT8 Operands
218 );
219
229UINTN
231 IN UINT8 Operands
232 );
233
245UINTN
247 IN BOOLEAN Sign,
248 IN UINTN NaturalUnits,
249 IN UINTN ConstantUnits
250 );
251
263UINTN
265 IN BOOLEAN Sign,
266 IN UINT64 NaturalUnits,
267 IN UINT64 ConstantUnits
268 );
269
279UINTN
281 IN UINT8 Data
282 );
283
293UINTN
295 IN UINT16 Data
296 );
297
307UINTN
309 IN UINT32 Data
310 );
311
321UINTN
323 IN UINT64 Data
324 );
325
335UINTN
337 IN UINTN Data
338 );
339
349UINTN
351 IN UINT64 Data64
352 );
353
363UINTN
365 IN UINT8 Data8
366 );
367
377UINTN
379 IN UINT16 Data16
380 );
381
391UINTN
393 IN UINT32 Data32
394 );
395
405UINTN
407 IN UINT64 Data64
408 );
409
419UINTN
421 IN UINTN Data
422 );
423
433UINTN
435 IN UINT64 Data64
436 );
437
447UINTN
449 IN UINT8 Data8
450 );
451
461UINTN
463 IN UINT16 Data16
464 );
465
475UINTN
477 IN UINT32 Data32
478 );
479
489UINTN
491 IN UINT64 Data64
492 );
493
501UINTN
503 VOID
504 );
505
516UINTN
518 IN UINTN Address
519 );
520
529VOID
531 IN EFI_PHYSICAL_ADDRESS InstructionAddress,
532 IN UINTN InstructionNumber
533 );
534
547 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,
548 IN EFI_SYSTEM_CONTEXT SystemContext
549 );
550
561UINT64
563 IN EFI_SYSTEM_CONTEXT SystemContext,
564 IN UINT8 Index
565 );
566
567#endif
UINT64 UINTN
UINTN EdbPrintImmData64(IN UINT64 Data)
UINTN EdbPrintRawIndexData16(IN UINT16 Data16)
UINTN EdbPrintIndexData(IN BOOLEAN Sign, IN UINTN NaturalUnits, IN UINTN ConstantUnits)
UINTN EdbPrintData64n(IN UINT64 Data64)
UINTN EdbPrintInstructionName(IN CHAR16 *Name)
VOID EdbSetOffset(IN UINTN InstructionNameOffset, IN UINTN InstructionContentOffset)
UINTN EdbPrintData64s(IN UINT64 Data64)
UINTN EdbPrintData8s(IN UINT8 Data8)
UINTN EdbPrintRegister1(IN UINT8 Operands)
UINTN EdbPrintImmData64n(IN UINT64 Data64)
BOOLEAN EdbGetNaturalIndex16(IN UINT16 Data16, OUT UINTN *NaturalUnits, OUT UINTN *ConstantUnits)
UINTN EdbPrintData16s(IN UINT16 Data16)
VOID EdbPrintRaw(IN EFI_PHYSICAL_ADDRESS InstructionAddress, IN UINTN InstructionNumber)
CHAR16 * EdbPreInstructionString(VOID)
UINTN EdbPrintImmData32(IN UINT32 Data)
UINTN EdbPrintIndexData64(IN BOOLEAN Sign, IN UINT64 NaturalUnits, IN UINT64 ConstantUnits)
UINTN EdbPrintData32s(IN UINT32 Data32)
BOOLEAN EdbGetNaturalIndex32(IN UINT32 Data32, OUT UINTN *NaturalUnits, OUT UINTN *ConstantUnits)
EFI_STATUS EdbShowDisasm(IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, IN EFI_SYSTEM_CONTEXT SystemContext)
UINTN EdbPrintImmData8(IN UINT8 Data)
UINTN EdbPrintDatan(IN UINTN Data)
UINTN EdbPrintImmData16(IN UINT16 Data)
CHAR16 * EdbPostInstructionString(VOID)
UINTN EdbPrintRawIndexData32(IN UINT32 Data32)
UINTN EdbPrintData8(IN UINT8 Data8)
UINT64 GetRegisterValue(IN EFI_SYSTEM_CONTEXT SystemContext, IN UINT8 Index)
UINTN EdbPrintRawIndexData64(IN UINT64 Data64)
UINTN EdbPrintData16(IN UINT16 Data16)
UINTN EdbPrintDedicatedRegister1(IN UINT8 Operands)
UINTN EdbPrintDedicatedRegister2(IN UINT8 Operands)
UINTN EdbPrintComma(VOID)
UINTN EdbFindAndPrintSymbol(IN UINTN Address)
BOOLEAN EdbGetNaturalIndex64(IN UINT64 Data64, OUT UINT64 *NaturalUnits, OUT UINT64 *ConstantUnits)
UINTN EdbPrintRegister2(IN UINT8 Operands)
UINTN EdbPrintData32(IN UINT32 Data32)
UINTN EdbPrintImmDatan(IN UINTN Data)
UINTN EdbPrintData64(IN UINT64 Data64)
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:50
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29