3 Copyright (c) 2007, Intel Corporation
4 All rights reserved. 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.
21 #ifndef _EFI_EDB_DISASM_SUPPORT_H_
22 #define _EFI_EDB_DISASM_SUPPORT_H_
26 #define EDB_BYTECODE_NUMBER_IN_LINE 5
29 #define EDB_PRINT_ADDRESS_FORMAT L"%08x: "
31 // To use 012l instead of 016l because space is not enough
32 #define EDB_PRINT_ADDRESS_FORMAT L"%012lx: "
35 #define OPCODE_MAX 0x40
37 #define EDB_INSTRUCTION_NAME_MAX_LENGTH 10
38 #define EDB_INSTRUCTION_NAME_MAX_SIZE (EDB_INSTRUCTION_NAME_MAX_LENGTH * sizeof(CHAR16))
39 #define EDB_INSTRUCTION_CONTENT_MAX_LENGTH 30
40 #define EDB_INSTRUCTION_CONTENT_MAX_SIZE (EDB_INSTRUCTION_CONTENT_MAX_LENGTH * sizeof(CHAR16))
44 IN UINTN InstructionNameOffset
,
45 IN UINTN InstructionContentOffset
49 EdbPreInstructionString (
54 EdbPostInstructionString (
59 EdbPrintInstructionName (
64 EdbGetNaturalIndex16 (
66 OUT UINTN
*NaturalUnits
,
67 OUT UINTN
*ConstantUnits
71 EdbGetNaturalIndex32 (
73 OUT UINTN
*NaturalUnits
,
74 OUT UINTN
*ConstantUnits
78 EdbGetNaturalIndex64 (
80 OUT UINT64
*NaturalUnits
,
81 OUT UINT64
*ConstantUnits
85 EdbPrintRawIndexData16 (
90 EdbPrintRawIndexData32 (
95 EdbPrintRawIndexData64 (
110 EdbPrintDedicatedRegister1 (
115 EdbPrintDedicatedRegister2 (
122 IN UINTN NaturalUnits
,
123 IN UINTN ConstantUnits
127 EdbPrintIndexData64 (
129 IN UINT64 NaturalUnits
,
130 IN UINT64 ConstantUnits
219 EdbFindAndPrintSymbol (
225 IN EFI_PHYSICAL_ADDRESS InstructionAddress
,
226 IN UINTN InstructionNumber
231 IN EFI_DEBUGGER_PRIVATE_DATA
*DebuggerPrivate
,
232 IN EFI_SYSTEM_CONTEXT SystemContext
237 IN EFI_SYSTEM_CONTEXT SystemContext
,