Home | History | Annotate | Download | only in EbcDebugger
      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