common: Drop linux/delay.h from common header
[oweals/u-boot.git] / common / kgdb.c
index 8a621ad1fc755aaa4b7313e01c29348ec6f5bcd2..4493a1591986c3380df2c86d40a8996b1688b96a 100644 (file)
@@ -88,6 +88,7 @@
  ****************************************************************************/
 
 #include <common.h>
+#include <asm/ptrace.h>
 
 #include <kgdb.h>
 #include <command.h>
@@ -103,7 +104,7 @@ static char remcomOutBuffer[BUFMAX];
 static char remcomRegBuffer[BUFMAX];
 
 static int initialized = 0;
-static int kgdb_active = 0, first_entry = 1;
+static int kgdb_active;
 static struct pt_regs entry_regs;
 static long error_jmp_buf[BUFMAX/2];
 static int longjmp_on_fault = 0;
@@ -326,7 +327,7 @@ handle_exception (struct pt_regs *regs)
                return (0);
        }
 
-       /* probably should check which exception occured as well */
+       /* probably should check which exception occurred as well */
        if (longjmp_on_fault) {
                longjmp_on_fault = 0;
                kgdb_longjmp(error_jmp_buf, KGDBERR_MEMFAULT);
@@ -348,16 +349,7 @@ handle_exception (struct pt_regs *regs)
 
        kgdb_enter(regs, &kd);
 
-       if (first_entry) {
-               /*
-                * the first time we enter kgdb, we save the processor
-                * state so that we can return to the monitor if the
-                * remote end quits gdb (or at least, tells us to quit
-                * with the 'k' packet)
-                */
-               entry_regs = *regs;
-               first_entry = 0;
-       }
+       entry_regs = *regs;
 
        ptr = remcomOutBuffer;
 
@@ -459,7 +451,6 @@ handle_exception (struct pt_regs *regs)
                case 'k':    /* kill the program, actually return to monitor */
                        kd.extype = KGDBEXIT_KILL;
                        *regs = entry_regs;
-                       first_entry = 1;
                        goto doexit;
 
                case 'C':    /* CSS  continue with signal SS */
@@ -584,7 +575,7 @@ breakpoint(void)
 }
 
 int
-do_kgdb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+do_kgdb(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
     printf("Entering KGDB mode via exception handler...\n\n");
     kgdb_breakpoint(argc - 1, argv + 1);