]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/remote-est.c
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / gdb / remote-est.c
index 25c25ac24cc9191317ed62eb8cbf7b6efbaffee1..27fd8aa518416115b230a6a2eaa0136aa3eb51c3 100644 (file)
@@ -95,62 +95,57 @@ static struct target_ops est_ops;
 static char *est_inits[] = {"he\r", /* Resets the prompt, and clears repeated cmds */
                              NULL};
 
-static struct monitor_ops est_cmds =
+static struct monitor_ops est_cmds ;
+
+static void 
+init_est_cmds(void)
 {
-  MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_NEED_REGDUMP_AFTER_CONT |
-  MO_SREC_ACK,
-  est_inits,                   /* Init strings */
-  "go\r",                      /* continue command */
-  "sidr\r",                    /* single step */
-  "\003",                      /* ^C interrupts the program */
-  "sb %x\r",                   /* set a breakpoint */
-  "rb %x\r",                   /* clear a breakpoint */
-  "rb\r",                      /* clear all breakpoints */
-  "bfb %x %x %x\r",            /* fill (start end val) */
-  {
-    "smb %x %x\r",             /* setmem.cmdb (addr, value) */
-    "smw %x %x\r",             /* setmem.cmdw (addr, value) */
-    "sml %x %x\r",             /* setmem.cmdl (addr, value) */
-    NULL,                      /* setmem.cmdll (addr, value) */
-    NULL,                      /* setreg.resp_delim */
-    NULL,                      /* setreg.term */
-    NULL,                      /* setreg.term_cmd */
-  },
-  {
-    "dmb %x %x\r",             /* getmem.cmdb (addr, len) */
-    "dmw %x %x\r",             /* getmem.cmdw (addr, len) */
-    "dml %x %x\r",             /* getmem.cmdl (addr, len) */
-    NULL,                      /* getmem.cmdll (addr, len) */
-    ": ",                      /* getmem.resp_delim */
-    NULL,                      /* getmem.term */
-    NULL,                      /* getmem.term_cmd */
-  },
-  {
-    "sr %s %x\r",              /* setreg.cmd (name, value) */
-    NULL,                      /* setreg.resp_delim */
-    NULL,                      /* setreg.term */
-    NULL                       /* setreg.term_cmd */
-  },
-  {
-    "dr %s\r",                 /* getreg.cmd (name) */
-    " = ",                     /* getreg.resp_delim */
-    NULL,                      /* getreg.term */
-    NULL                       /* getreg.term_cmd */
-  },
-  "dr\r",                      /* dump_registers */
-  "\\(\\w+\\) = \\([0-9a-fA-F]+\\)", /* register_pattern */
-  est_supply_register,         /* supply_register */
-  NULL,                                /* load_routine (defaults to SRECs) */
-  "dl\r",                      /* download command */
-  "+",                         /* load response */
-  ">BKM>",                     /* monitor command prompt */
-  "\r",                                /* end-of-line terminator */
-  NULL,                                /* optional command terminator */
-  &est_ops,                    /* target operations */
-  SERIAL_1_STOPBITS,           /* number of stop bits */
-  est_regnames,                        /* registers names */
-  MONITOR_OPS_MAGIC            /* magic */
-  };
+  est_cmds.flags =   MO_CLR_BREAK_USES_ADDR | MO_FILL_USES_ADDR | MO_NEED_REGDUMP_AFTER_CONT |
+    MO_SREC_ACK | MO_SREC_ACK_PLUS ;
+  est_cmds.init =   est_inits;                 /* Init strings */
+  est_cmds.cont =   "go\r";                    /* continue command */
+  est_cmds.step =   "sidr\r";                  /* single step */
+  est_cmds.stop =   "\003";                    /* ^C interrupts the program */
+  est_cmds.set_break =   "sb %x\r";                    /* set a breakpoint */
+  est_cmds.clr_break =   "rb %x\r";                    /* clear a breakpoint */
+  est_cmds.clr_all_break =   "rb\r";                   /* clear all breakpoints */
+  est_cmds.fill =   "bfb %x %x %x\r";          /* fill (start end val) */
+  est_cmds.setmem.cmdb =     "smb %x %x\r";            /* setmem.cmdb (addr, value) */
+  est_cmds.setmem.cmdw =     "smw %x %x\r";            /* setmem.cmdw (addr, value) */
+  est_cmds.setmem.cmdl =     "sml %x %x\r";            /* setmem.cmdl (addr, value) */
+  est_cmds.setmem.cmdll =     NULL;                    /* setmem.cmdll (addr, value) */
+  est_cmds.setmem.resp_delim =     NULL;                       /* setreg.resp_delim */
+  est_cmds.setmem.term =     NULL;                     /* setreg.term */
+  est_cmds.setmem.term_cmd =     NULL;                 /* setreg.term_cmd */
+  est_cmds.getmem.cmdb =     "dmb %x %x\r";            /* getmem.cmdb (addr, len) */
+  est_cmds.getmem.cmdw =     "dmw %x %x\r";            /* getmem.cmdw (addr, len) */
+  est_cmds.getmem.cmdl =     "dml %x %x\r";            /* getmem.cmdl (addr, len) */
+  est_cmds.getmem.cmdll =     NULL;                    /* getmem.cmdll (addr, len) */
+  est_cmds.getmem.resp_delim =     ": ";                       /* getmem.resp_delim */
+  est_cmds.getmem.term =     NULL;                     /* getmem.term */
+  est_cmds.getmem.term_cmd =     NULL;                 /* getmem.term_cmd */
+  est_cmds.setreg.cmd =     "sr %s %x\r";              /* setreg.cmd (name, value) */
+  est_cmds.setreg.resp_delim =     NULL;                       /* setreg.resp_delim */
+  est_cmds.setreg.term =     NULL;                     /* setreg.term */
+  est_cmds.setreg.term_cmd =     NULL;                 /* setreg.term_cmd */
+  est_cmds.getreg.cmd =     "dr %s\r";                 /* getreg.cmd (name) */
+  est_cmds.getreg.resp_delim =     " = ";                      /* getreg.resp_delim */
+  est_cmds.getreg.term =     NULL;                     /* getreg.term */
+  est_cmds.getreg.term_cmd =     NULL ;                        /* getreg.term_cmd */
+  est_cmds.dump_registers =   "dr\r";                  /* dump_registers */
+  est_cmds.register_pattern =   "\\(\\w+\\) = \\([0-9a-fA-F]+\\)"; /* register_pattern */
+  est_cmds.supply_register =   est_supply_register;            /* supply_register */
+  est_cmds.load_routine =   NULL;                              /* load_routine (defaults to SRECs) */
+  est_cmds.load =   "dl\r";                    /* download command */
+  est_cmds.loadresp =   "+";                           /* load response */
+  est_cmds.prompt =   ">BKM>";                 /* monitor command prompt */
+  est_cmds.line_term =   "\r";                         /* end-of-line terminator */
+  est_cmds.cmd_end =   NULL;                           /* optional command terminator */
+  est_cmds.target =   &est_ops;                        /* target operations */
+  est_cmds.stopbits =   SERIAL_1_STOPBITS;             /* number of stop bits */
+  est_cmds.regnames =   est_regnames;                  /* registers names */
+  est_cmds.magic =   MONITOR_OPS_MAGIC ;       /* magic */
+} /* init_est_cmds */
 
 static void
 est_open(args, from_tty)
@@ -163,6 +158,7 @@ est_open(args, from_tty)
 void
 _initialize_est ()
 {
+  init_est_cmds() ;
   init_monitor_ops (&est_ops);
 
   est_ops.to_shortname = "est";