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
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.
15 #ifndef _EFI_EDB_DISASM_SUPPORT_H_
16 #define _EFI_EDB_DISASM_SUPPORT_H_
20 #define EDB_BYTECODE_NUMBER_IN_LINE 5
23 #define EDB_PRINT_ADDRESS_FORMAT L"%08x: "
25 // To use 012l instead of 016l because space is not enough
26 #define EDB_PRINT_ADDRESS_FORMAT L"%012lx: "
29 #define OPCODE_MAX 0x40
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))
38 IN UINTN InstructionNameOffset
,
39 IN UINTN InstructionContentOffset
43 EdbPreInstructionString (
48 EdbPostInstructionString (
53 EdbPrintInstructionName (
58 EdbGetNaturalIndex16 (
60 OUT UINTN
*NaturalUnits
,
61 OUT UINTN
*ConstantUnits
65 EdbGetNaturalIndex32 (
67 OUT UINTN
*NaturalUnits
,
68 OUT UINTN
*ConstantUnits
72 EdbGetNaturalIndex64 (
74 OUT UINT64
*NaturalUnits
,
75 OUT UINT64
*ConstantUnits
79 EdbPrintRawIndexData16 (
84 EdbPrintRawIndexData32 (
89 EdbPrintRawIndexData64 (
104 EdbPrintDedicatedRegister1 (
109 EdbPrintDedicatedRegister2 (
116 IN UINTN NaturalUnits
,
117 IN UINTN ConstantUnits
121 EdbPrintIndexData64 (
123 IN UINT64 NaturalUnits
,
124 IN UINT64 ConstantUnits
213 EdbFindAndPrintSymbol (
219 IN EFI_PHYSICAL_ADDRESS InstructionAddress
,
220 IN UINTN InstructionNumber
225 IN EFI_DEBUGGER_PRIVATE_DATA
*DebuggerPrivate
,
226 IN EFI_SYSTEM_CONTEXT SystemContext
231 IN EFI_SYSTEM_CONTEXT SystemContext
,