summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbCommand.h
blob: ac8c23adfab358cef68a80966d1c48515de5eb02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/** @file

Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent


**/

#ifndef _EFI_EDB_COMMAND_H_
#define _EFI_EDB_COMMAND_H_

typedef enum {
  EdbWidthUint8,
  EdbWidthUint16,
  EdbWidthUint32,
  EdbWidthUint64,
  EdbWidthMax
} EDB_DATA_WIDTH;

/**

  Find the command according to name.

  @param  CommandName   - Command Name
  @param  CommandArg    - Command Argument

  @return Not NULL        - The DebuggerCommand is found successfully
  @return NULL            - not found

**/
EFI_DEBUGGER_COMMAND
MatchDebuggerCommand (
  IN CHAR16    *CommandName,
  IN CHAR16    **CommandArg
  );

/**

  Find the command name according to the function key.

  @param  CommandKey    - Command Function Key

  @return Not NULL        - The DebuggerName is found successfully
  @return NULL            - not found

**/
CHAR16 *
GetCommandNameByKey (
  IN EFI_INPUT_KEY CommandKey
  );

//
// Definition for Command Table
//
#define EDB_COMMAND_DEFINE(func) \
EFI_DEBUG_STATUS \
func ( \
  IN     CHAR16                    *CommandArg, \
  IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, \
  IN     EFI_EXCEPTION_TYPE        ExceptionType, \
  IN OUT EFI_SYSTEM_CONTEXT        SystemContext \
  )

EDB_COMMAND_DEFINE (DebuggerCallStack);
EDB_COMMAND_DEFINE (DebuggerInstructionBranch);
EDB_COMMAND_DEFINE (DebuggerBreakOnCALL);
EDB_COMMAND_DEFINE (DebuggerBreakOnCALLEX);
EDB_COMMAND_DEFINE (DebuggerBreakOnRET);
EDB_COMMAND_DEFINE (DebuggerBreakOnEntrypoint);
EDB_COMMAND_DEFINE (DebuggerBreakOnThunk);
EDB_COMMAND_DEFINE (DebuggerBreakOnKey);
EDB_COMMAND_DEFINE (DebuggerBreakpointList);
EDB_COMMAND_DEFINE (DebuggerBreakpointSet);
EDB_COMMAND_DEFINE (DebuggerBreakpointClear);
EDB_COMMAND_DEFINE (DebuggerBreakpointDisable);
EDB_COMMAND_DEFINE (DebuggerBreakpointEnable);
EDB_COMMAND_DEFINE (DebuggerGo);
EDB_COMMAND_DEFINE (DebuggerHelp);
EDB_COMMAND_DEFINE (DebuggerMemoryDB);
EDB_COMMAND_DEFINE (DebuggerMemoryDW);
EDB_COMMAND_DEFINE (DebuggerMemoryDD);
EDB_COMMAND_DEFINE (DebuggerMemoryDQ);
EDB_COMMAND_DEFINE (DebuggerMemoryEB);
EDB_COMMAND_DEFINE (DebuggerMemoryEW);
EDB_COMMAND_DEFINE (DebuggerMemoryED);
EDB_COMMAND_DEFINE (DebuggerMemoryEQ);
EDB_COMMAND_DEFINE (DebuggerQuit);
EDB_COMMAND_DEFINE (DebuggerRegister);
EDB_COMMAND_DEFINE (DebuggerScope);
EDB_COMMAND_DEFINE (DebuggerList);
EDB_COMMAND_DEFINE (DebuggerStepInto);
EDB_COMMAND_DEFINE (DebuggerStepOver);
EDB_COMMAND_DEFINE (DebuggerStepOut);
EDB_COMMAND_DEFINE (DebuggerListSymbol);
EDB_COMMAND_DEFINE (DebuggerLoadSymbol);
EDB_COMMAND_DEFINE (DebuggerUnloadSymbol);
EDB_COMMAND_DEFINE (DebuggerDisplaySymbol);
EDB_COMMAND_DEFINE (DebuggerLoadCode);
EDB_COMMAND_DEFINE (DebuggerUnloadCode);
EDB_COMMAND_DEFINE (DebuggerDisplayCode);
EDB_COMMAND_DEFINE (DebuggerExtIoIB);
EDB_COMMAND_DEFINE (DebuggerExtIoIW);
EDB_COMMAND_DEFINE (DebuggerExtIoID);
EDB_COMMAND_DEFINE (DebuggerExtIoOB);
EDB_COMMAND_DEFINE (DebuggerExtIoOW);
EDB_COMMAND_DEFINE (DebuggerExtIoOD);
EDB_COMMAND_DEFINE (DebuggerExtPciPCIL);
EDB_COMMAND_DEFINE (DebuggerExtPciPCID);
EDB_COMMAND_DEFINE (DebuggerExtPciCFGB);
EDB_COMMAND_DEFINE (DebuggerExtPciCFGW);
EDB_COMMAND_DEFINE (DebuggerExtPciCFGD);

extern EFI_DEBUGGER_COMMAND_SET  mDebuggerCommandSet[];

#endif