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