1 /** @file 2 3 Copyright (c) 2007, Intel Corporation. All rights reserved.<BR> 4 SPDX-License-Identifier: BSD-2-Clause-Patent 5 6 7 **/ 8 9 #ifndef _EFI_EDB_COMMAND_H_ 10 #define _EFI_EDB_COMMAND_H_ 11 12 typedef enum { 13 EdbWidthUint8, 14 EdbWidthUint16, 15 EdbWidthUint32, 16 EdbWidthUint64, 17 EdbWidthMax 18 } EDB_DATA_WIDTH; 19 20 /** 21 22 Find the command according to name. 23 24 @param CommandName - Command Name 25 @param CommandArg - Command Argument 26 27 @return Not NULL - The DebuggerCommand is found successfully 28 @return NULL - not found 29 30 **/ 31 EFI_DEBUGGER_COMMAND 32 MatchDebuggerCommand ( 33 IN CHAR16 *CommandName, 34 IN CHAR16 **CommandArg 35 ); 36 37 /** 38 39 Find the command name according to the function key. 40 41 @param CommandKey - Command Function Key 42 43 @return Not NULL - The DebuggerName is found successfully 44 @return NULL - not found 45 46 **/ 47 CHAR16 * 48 GetCommandNameByKey ( 49 IN EFI_INPUT_KEY CommandKey 50 ); 51 52 // 53 // Definition for Command Table 54 // 55 #define EDB_COMMAND_DEFINE(func) \ 56 EFI_DEBUG_STATUS \ 57 func ( \ 58 IN CHAR16 *CommandArg, \ 59 IN EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate, \ 60 IN EFI_EXCEPTION_TYPE ExceptionType, \ 61 IN OUT EFI_SYSTEM_CONTEXT SystemContext \ 62 ) 63 64 EDB_COMMAND_DEFINE (DebuggerCallStack); 65 EDB_COMMAND_DEFINE (DebuggerInstructionBranch); 66 EDB_COMMAND_DEFINE (DebuggerBreakOnCALL); 67 EDB_COMMAND_DEFINE (DebuggerBreakOnCALLEX); 68 EDB_COMMAND_DEFINE (DebuggerBreakOnRET); 69 EDB_COMMAND_DEFINE (DebuggerBreakOnEntrypoint); 70 EDB_COMMAND_DEFINE (DebuggerBreakOnThunk); 71 EDB_COMMAND_DEFINE (DebuggerBreakOnKey); 72 EDB_COMMAND_DEFINE (DebuggerBreakpointList); 73 EDB_COMMAND_DEFINE (DebuggerBreakpointSet); 74 EDB_COMMAND_DEFINE (DebuggerBreakpointClear); 75 EDB_COMMAND_DEFINE (DebuggerBreakpointDisable); 76 EDB_COMMAND_DEFINE (DebuggerBreakpointEnable); 77 EDB_COMMAND_DEFINE (DebuggerGo); 78 EDB_COMMAND_DEFINE (DebuggerHelp); 79 EDB_COMMAND_DEFINE (DebuggerMemoryDB); 80 EDB_COMMAND_DEFINE (DebuggerMemoryDW); 81 EDB_COMMAND_DEFINE (DebuggerMemoryDD); 82 EDB_COMMAND_DEFINE (DebuggerMemoryDQ); 83 EDB_COMMAND_DEFINE (DebuggerMemoryEB); 84 EDB_COMMAND_DEFINE (DebuggerMemoryEW); 85 EDB_COMMAND_DEFINE (DebuggerMemoryED); 86 EDB_COMMAND_DEFINE (DebuggerMemoryEQ); 87 EDB_COMMAND_DEFINE (DebuggerQuit); 88 EDB_COMMAND_DEFINE (DebuggerRegister); 89 EDB_COMMAND_DEFINE (DebuggerScope); 90 EDB_COMMAND_DEFINE (DebuggerList); 91 EDB_COMMAND_DEFINE (DebuggerStepInto); 92 EDB_COMMAND_DEFINE (DebuggerStepOver); 93 EDB_COMMAND_DEFINE (DebuggerStepOut); 94 EDB_COMMAND_DEFINE (DebuggerListSymbol); 95 EDB_COMMAND_DEFINE (DebuggerLoadSymbol); 96 EDB_COMMAND_DEFINE (DebuggerUnloadSymbol); 97 EDB_COMMAND_DEFINE (DebuggerDisplaySymbol); 98 EDB_COMMAND_DEFINE (DebuggerLoadCode); 99 EDB_COMMAND_DEFINE (DebuggerUnloadCode); 100 EDB_COMMAND_DEFINE (DebuggerDisplayCode); 101 EDB_COMMAND_DEFINE (DebuggerExtIoIB); 102 EDB_COMMAND_DEFINE (DebuggerExtIoIW); 103 EDB_COMMAND_DEFINE (DebuggerExtIoID); 104 EDB_COMMAND_DEFINE (DebuggerExtIoOB); 105 EDB_COMMAND_DEFINE (DebuggerExtIoOW); 106 EDB_COMMAND_DEFINE (DebuggerExtIoOD); 107 EDB_COMMAND_DEFINE (DebuggerExtPciPCIL); 108 EDB_COMMAND_DEFINE (DebuggerExtPciPCID); 109 EDB_COMMAND_DEFINE (DebuggerExtPciCFGB); 110 EDB_COMMAND_DEFINE (DebuggerExtPciCFGW); 111 EDB_COMMAND_DEFINE (DebuggerExtPciCFGD); 112 113 extern EFI_DEBUGGER_COMMAND_SET mDebuggerCommandSet[]; 114 115 #endif 116