]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/cmd_bedbug.c
Merge branch 'tx6-bugfix'
[karo-tx-uboot.git] / common / cmd_bedbug.c
index e6277c940860b8b301a3bd8cc683e2737b73442b..57a8a3f2fe352177fa8edefd629ea7ac57bfb5f7 100644 (file)
@@ -3,6 +3,7 @@
  */
 
 #include <common.h>
+#include <cli.h>
 #include <command.h>
 #include <linux/ctype.h>
 #include <net.h>
@@ -15,12 +16,11 @@ DECLARE_GLOBAL_DATA_PTR;
 
 extern void show_regs __P ((struct pt_regs *));
 extern int run_command __P ((const char *, int));
-extern char console_buffer[];
 
 ulong dis_last_addr = 0;       /* Last address disassembled   */
 ulong dis_last_len = 20;       /* Default disassembler length */
 CPU_DEBUG_CTX bug_ctx;         /* Bedbug context structure    */
-\f
+
 
 /* ======================================================================
  * U-Boot's puts function does not append a newline, so the bedbug stuff
@@ -34,7 +34,7 @@ int bedbug_puts (const char *str)
        printf ("%s\r\n", str);
        return 0;
 }                              /* bedbug_puts */
-\f
+
 
 
 /* ======================================================================
@@ -66,14 +66,14 @@ void bedbug_init (void)
 
        return;
 }                              /* bedbug_init */
-\f
+
 
 
 /* ======================================================================
  * Entry point from the interpreter to the disassembler.  Repeated calls
  * will resume from the last disassembled address.
  * ====================================================================== */
-int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        ulong addr;             /* Address to start disassembly from    */
        ulong len;              /* # of instructions to disassemble     */
@@ -84,10 +84,8 @@ int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        addr = dis_last_addr;
        len = dis_last_len;
 
-       if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
-               return 1;
-       }
+       if (argc < 2)
+               return CMD_RET_USAGE;
 
        if ((flag & CMD_FLAG_REPEAT) == 0) {
                /* New command */
@@ -107,15 +105,15 @@ int do_bedbug_dis (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_dis */
 
 U_BOOT_CMD (ds, 3, 1, do_bedbug_dis,
-           "ds      - disassemble memory\n",
-           "ds <address> [# instructions]\n");
-\f
+           "disassemble memory",
+           "ds <address> [# instructions]");
+
 /* ======================================================================
  * Entry point from the interpreter to the assembler.  Assembles
  * instructions in consecutive memory locations until a '.' (period) is
  * entered on a line by itself.
  * ====================================================================== */
-int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        long mem_addr;          /* Address to assemble into     */
        unsigned long instr;    /* Machine code for text        */
@@ -125,10 +123,8 @@ int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
        /* -------------------------------------------------- */
        int rcode = 0;
 
-       if (argc < 2) {
-               printf ("Usage:\n%s\n", cmdtp->usage);
-               return 1;
-       }
+       if (argc < 2)
+               return CMD_RET_USAGE;
 
        printf ("\nEnter '.' when done\n");
        mem_addr = simple_strtoul (argv[1], NULL, 16);
@@ -139,7 +135,7 @@ int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
                        F_RADHEX);
 
                sprintf (prompt, "%08lx:    ", mem_addr);
-               readline (prompt);
+               cli_readline(prompt);
 
                if (console_buffer[0] && strcmp (console_buffer, ".")) {
                        if ((instr =
@@ -160,14 +156,14 @@ int do_bedbug_asm (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_asm */
 
 U_BOOT_CMD (as, 2, 0, do_bedbug_asm,
-           "as      - assemble memory\n", "as <address>\n");
-\f
+           "assemble memory", "as <address>");
+
 /* ======================================================================
  * Used to set a break point from the interpreter.  Simply calls into the
  * CPU-specific break point set routine.
  * ====================================================================== */
 
-int do_bedbug_break (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_break (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        /* -------------------------------------------------- */
        if (bug_ctx.do_break)
@@ -177,12 +173,12 @@ int do_bedbug_break (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_break */
 
 U_BOOT_CMD (break, 3, 0, do_bedbug_break,
-           "break   - set or clear a breakpoint\n",
+           "set or clear a breakpoint",
            " - Set or clear a breakpoint\n"
            "break <address> - Break at an address\n"
            "break off <bp#> - Disable breakpoint.\n"
-           "break show      - List breakpoints.\n");
-\f
+           "break show      - List breakpoints.");
+
 /* ======================================================================
  * Called from the debug interrupt routine.  Simply calls the CPU-specific
  * breakpoint handling routine.
@@ -197,7 +193,7 @@ void do_bedbug_breakpoint (struct pt_regs *regs)
 
        return;
 }                              /* do_bedbug_breakpoint */
-\f
+
 
 
 /* ======================================================================
@@ -230,7 +226,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
 
        /* A miniature main loop */
        while (bug_ctx.stopped) {
-               len = readline (prompt_str);
+               len = cli_readline(prompt_str);
 
                flag = 0;       /* assume no special flags for now */
 
@@ -242,7 +238,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
                if (len == -1)
                        printf ("<INTERRUPT>\n");
                else
-                       rc = run_command (lastcommand, flag);
+                       rc = run_command_repeatable(lastcommand, flag);
 
                if (rc <= 0) {
                        /* invalid command or not repeatable, forget it */
@@ -255,7 +251,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
 
        return;
 }                              /* bedbug_main_loop */
-\f
+
 
 
 /* ======================================================================
@@ -263,7 +259,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
  * stopped flag in the context so that the breakpoint routine will
  * return.
  * ====================================================================== */
-int do_bedbug_continue (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_continue (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        /* -------------------------------------------------- */
 
@@ -277,16 +273,16 @@ int do_bedbug_continue (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_continue */
 
 U_BOOT_CMD (continue, 1, 0, do_bedbug_continue,
-           "continue- continue from a breakpoint\n",
-           " - continue from a breakpoint.\n");
-\f
+           "continue from a breakpoint",
+           "");
+
 /* ======================================================================
  * Interpreter command to continue to the next instruction, stepping into
  * subroutines.  Works by calling the find_next_addr() routine to compute
  * the address passes control to the CPU-specific set breakpoint routine
  * for the current breakpoint number.
  * ====================================================================== */
-int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned long addr;     /* Address to stop at */
 
@@ -297,7 +293,7 @@ int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
                return 1;
        }
 
-       if (!find_next_address ((unsigned char *) &addr, FALSE, bug_ctx.regs))
+       if (!find_next_address((unsigned char *) &addr, false, bug_ctx.regs))
                return 1;
 
        if (bug_ctx.set)
@@ -308,16 +304,16 @@ int do_bedbug_step (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_step */
 
 U_BOOT_CMD (step, 1, 1, do_bedbug_step,
-           "step    - single step execution.\n",
-           " - single step execution.\n");
-\f
+           "single step execution.",
+           "");
+
 /* ======================================================================
  * Interpreter command to continue to the next instruction, stepping over
  * subroutines.  Works by calling the find_next_addr() routine to compute
  * the address passes control to the CPU-specific set breakpoint routine
  * for the current breakpoint number.
  * ====================================================================== */
-int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned long addr;     /* Address to stop at */
 
@@ -328,7 +324,7 @@ int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
                return 1;
        }
 
-       if (!find_next_address ((unsigned char *) &addr, TRUE, bug_ctx.regs))
+       if (!find_next_address((unsigned char *) &addr, true, bug_ctx.regs))
                return 1;
 
        if (bug_ctx.set)
@@ -339,14 +335,14 @@ int do_bedbug_next (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_next */
 
 U_BOOT_CMD (next, 1, 1, do_bedbug_next,
-           "next    - single step execution, stepping over subroutines.\n",
-           " - single step execution, stepping over subroutines.\n");
-\f
+           "single step execution, stepping over subroutines.",
+           "");
+
 /* ======================================================================
  * Interpreter command to print the current stack.  This assumes an EABI
  * architecture, so it starts with GPR R1 and works back up the stack.
  * ====================================================================== */
-int do_bedbug_stack (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_stack (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        unsigned long sp;       /* Stack pointer                */
        unsigned long func;     /* LR from stack                */
@@ -384,14 +380,14 @@ int do_bedbug_stack (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_stack */
 
 U_BOOT_CMD (where, 1, 1, do_bedbug_stack,
-           "where   - Print the running stack.\n",
-           " - Print the running stack.\n");
-\f
+           "Print the running stack.",
+           "");
+
 /* ======================================================================
  * Interpreter command to dump the registers.  Calls the CPU-specific
  * show registers routine.
  * ====================================================================== */
-int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
+int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 {
        /* -------------------------------------------------- */
 
@@ -405,7 +401,7 @@ int do_bedbug_rdump (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 }                              /* do_bedbug_rdump */
 
 U_BOOT_CMD (rdump, 1, 1, do_bedbug_rdump,
-           "rdump   - Show registers.\n", " - Show registers.\n");
+           "Show registers.", "");
 /* ====================================================================== */