Tue May 19 17:23:54 1998 John Metzler <jmetzler@cygnus.com>
authorJohn Metzler <jmetzler@cygnus>
Wed, 20 May 1998 00:30:42 +0000 (00:30 +0000)
committerJohn Metzler <jmetzler@cygnus>
Wed, 20 May 1998 00:30:42 +0000 (00:30 +0000)
* w89k-rom.c (_initialize_w89k ): Call new init function
             (init_w89k_cmds): Convert to dynamic initialization of
              monitor_ops data structure for forward compatability with
              additions to the data structure.
* dbug-rom.c (_initialize_dbug_rom): ditto
             (init_dbug_cmds):       ditto
* m32r-rom.c (_initialize_m32r_rom):  ditto
             (init_m32r_cmds):        ditto

gdb/ChangeLog
gdb/dbug-rom.c
gdb/w89k-rom.c

index ed4ffec7f2f32a905827f1ff23248edf394719f5..6306707bd6b1490aa4f72fc76c181bd2591a80dd 100644 (file)
@@ -1,3 +1,14 @@
+Tue May 19 17:23:54 1998  John Metzler  <jmetzler@cygnus.com>
+
+       * w89k-rom.c (_initialize_w89k ): Call new init function
+                    (init_w89k_cmds): Convert to dynamic initialization of
+                     monitor_ops data structure for forward compatability with
+                     additions to the data structure.
+       * dbug-rom.c (_initialize_dbug_rom): ditto
+                    (init_dbug_cmds):       ditto
+       * m32r-rom.c (_initialize_m32r_rom):  ditto
+                    (init_m32r_cmds):        ditto
+
 Mon May 18 13:34:27 1998  Keith Seitz  <keiths@cygnus.com>
 
         * dbxread.c (process_one_symbol): If block addresses are relative to
index bffecc7e51bb3eca0efebccfd66ba27d985d024e..93c1f8837de0688feeffa073ff9bf3d2e759b899 100644 (file)
@@ -85,66 +85,59 @@ static char *dbug_regnames[NUM_REGS] =
   "SR", "PC"
   /* no float registers */
 };
-
 static struct target_ops dbug_ops;
+static struct monitor_ops dbug_cmds ;
 
 static char *dbug_inits[] = {"\r", NULL};
 
-static struct monitor_ops dbug_cmds =
+
+static void init_dbug_cmds(void)
 {
-  MO_CLR_BREAK_USES_ADDR | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR,
-  dbug_inits,                  /* Init strings */
-  "go\r",                      /* continue command */
-  "step\r",                    /* single step */
-  NULL,                                /* interrupt command */
-  "br %x\r",                   /* set a breakpoint */
-  "br -c %x\r",                        /* clear a breakpoint */
-  "br -c\r",                   /* clear all breakpoints */
-  "bf.b %x %x %x",             /* fill (start end val) */
-  {
-    "mm.b %x %x\r",            /* setmem.cmdb (addr, value) */
-    "mm.w %x %x\r",            /* setmem.cmdw (addr, value) */
-    "mm.l %x %x\r",            /* setmem.cmdl (addr, value) */
-    NULL,                      /* setmem.cmdll (addr, value) */
-    NULL,                      /* setmem.resp_delim */
-    NULL,                      /* setmem.term */
-    NULL                       /* setmem.term_cmd */
-  },
-  {
-    "md.b %x %x\r",            /* getmem.cmdb (addr, addr2) */
-    "md.w %x %x\r",            /* getmem.cmdw (addr, addr2) */
-    "md.l %x %x\r",            /* getmem.cmdl (addr, addr2) */
-    NULL,                      /* getmem.cmdll (addr, addr2) */
-    ":",                       /* getmem.resp_delim */
-    NULL,                      /* getmem.term */
-    NULL                       /* getmem.term_cmd */
-  },
-  {
-    "rm %s %x\r",              /* setreg.cmd (name, value) */
-    NULL,                      /* setreg.resp_delim */
-    NULL,                      /* setreg.term */
-    NULL                       /* setreg.term_cmd */
-  },
-  {
-    "rd %s\r",                 /* getreg.cmd (name) */
-    ":",                       /* getreg.resp_delim */
-    NULL,                      /* getreg.term */
-    NULL                       /* getreg.term_cmd */
-  },
-  "rd\r",                      /* dump_registers */
-  "\\(\\w+\\) +:\\([0-9a-fA-F]+\\b\\)", /* register_pattern */
-  dbug_supply_register,                /* supply_register */
-  NULL,                                /* load_routine (defaults to SRECs) */
-  "dl\r",                      /* download command */
-  "\n",                                /* load response */
-  "dBUG>",                     /* monitor command prompt */
-  "\r",                                /* end-of-line terminator */
-  NULL,                                /* optional command terminator */
-  &dbug_ops,                   /* target operations */
-  SERIAL_1_STOPBITS,           /* number of stop bits */
-  dbug_regnames,               /* registers names */
-  MONITOR_OPS_MAGIC            /* magic */
-  };
+  dbug_cmds.flags =   MO_CLR_BREAK_USES_ADDR | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR;
+  dbug_cmds.init =   dbug_inits;                       /* Init strings */
+  dbug_cmds.cont =   "go\r";                   /* continue command */
+  dbug_cmds.step =   "step\r";                 /* single step */
+  dbug_cmds.stop =   NULL;                             /* interrupt command */
+  dbug_cmds.set_break =   "br %x\r";                   /* set a breakpoint */
+  dbug_cmds.clr_break =   "br -c %x\r";                        /* clear a breakpoint */
+  dbug_cmds.clr_all_break =   "br -c\r";                       /* clear all breakpoints */
+  dbug_cmds.fill =   "bf.b %x %x %x";          /* fill (start end val) */
+  dbug_cmds.setmem.cmdb =     "mm.b %x %x\r";          /* setmem.cmdb (addr, value) */
+  dbug_cmds.setmem.cmdw =     "mm.w %x %x\r";          /* setmem.cmdw (addr, value) */
+  dbug_cmds.setmem.cmdl =     "mm.l %x %x\r";          /* setmem.cmdl (addr, value) */
+  dbug_cmds.setmem.cmdll =     NULL;                   /* setmem.cmdll (addr, value) */
+  dbug_cmds.setmem.resp_delim =     NULL;                      /* setmem.resp_delim */
+  dbug_cmds.setmem.term =     NULL;                    /* setmem.term */
+  dbug_cmds.setmem.term_cmd =     NULL;                        /* setmem.term_cmd */
+  dbug_cmds.getmem.cmdb =     "md.b %x %x\r";          /* getmem.cmdb (addr, addr2) */
+  dbug_cmds.getmem.cmdw =     "md.w %x %x\r";          /* getmem.cmdw (addr, addr2) */
+  dbug_cmds.getmem.cmdl =     "md.l %x %x\r";          /* getmem.cmdl (addr, addr2) */
+  dbug_cmds.getmem.cmdll =     NULL;                   /* getmem.cmdll (addr, addr2) */
+  dbug_cmds.getmem.resp_delim =     ":";                       /* getmem.resp_delim */
+  dbug_cmds.getmem.term =     NULL;                    /* getmem.term */
+  dbug_cmds.getmem.term_cmd =     NULL;                        /* getmem.term_cmd */
+  dbug_cmds.setreg.cmd =     "rm %s %x\r";             /* setreg.cmd (name, value) */
+  dbug_cmds.setreg.resp_delim =     NULL;                      /* setreg.resp_delim */
+  dbug_cmds.setreg.term =     NULL;                    /* setreg.term */
+  dbug_cmds.setreg.term_cmd =     NULL;                        /* setreg.term_cmd */
+  dbug_cmds.getreg.cmd =     "rd %s\r";                        /* getreg.cmd (name) */
+  dbug_cmds.getreg.resp_delim =     ":";                       /* getreg.resp_delim */
+  dbug_cmds.getreg.term =     NULL;                    /* getreg.term */
+  dbug_cmds.getreg.term_cmd =     NULL;                        /* getreg.term_cmd */
+  dbug_cmds.dump_registers =   "rd\r";                 /* dump_registers */
+  dbug_cmds.register_pattern =   "\\(\\w+\\) +:\\([0-9a-fA-F]+\\b\\)"; /* register_pattern */
+  dbug_cmds.supply_register =   dbug_supply_register;          /* supply_register */
+  dbug_cmds.load_routine =   NULL;                             /* load_routine (defaults to SRECs) */
+  dbug_cmds.load =   "dl\r";                   /* download command */
+  dbug_cmds.loadresp =   "\n";                         /* load response */
+  dbug_cmds.prompt =   "dBUG>";                        /* monitor command prompt */
+  dbug_cmds.line_term =   "\r";                                /* end-of-line terminator */
+  dbug_cmds.cmd_end =   NULL;                          /* optional command terminator */
+  dbug_cmds.target =   &dbug_ops ;                     /* target operations */
+  dbug_cmds.stopbits =   SERIAL_1_STOPBITS;            /* number of stop bits */
+  dbug_cmds.regnames =   dbug_regnames;                /* registers names */
+  dbug_cmds.magic =   MONITOR_OPS_MAGIC        ;       /* magic */
+} /* init_debug_ops */
 
 static void
 dbug_open(args, from_tty)
@@ -157,6 +150,7 @@ dbug_open(args, from_tty)
 void
 _initialize_dbug_rom ()
 {
+  init_dbug_cmds() ;
   init_monitor_ops (&dbug_ops);
 
   dbug_ops.to_shortname = "dbug";
index ee2336876d46a056a91c764504d6c9c74b69adcf..e6e63c4428bcd7288772f627fd460b039c289596 100644 (file)
@@ -26,6 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "serial.h"
 #include "xmodem.h"
 
+
 static void w89k_open PARAMS ((char *args, int from_tty));
 
 /*
@@ -242,62 +243,55 @@ static struct target_ops w89k_ops;
 
 static char *w89k_inits[] = {"\n", NULL};
 
-static struct monitor_ops w89k_cmds =
+static struct monitor_ops w89k_cmds ;
+static init_w89k_cmds(void)
 {
-  MO_GETMEM_NEEDS_RANGE|MO_FILL_USES_ADDR, /* flags */
-  w89k_inits,                  /* Init strings */
-  "g\n",                       /* continue command */
-  "t\n",                       /* single step */
-  "\003",                      /* Interrupt char (^C) */
-  "bp %x\n",                   /* set a breakpoint */
-  "bc %x\n",                   /* clear a breakpoint */
-  "bc *\n",                    /* clear all breakpoints */
-  "f %x %x %x\n",              /* memory fill cmd */
-  {
-    "eb %x %x\n",              /* setmem.cmdb (addr, value) */
-    "eh %x %x\n",              /* setmem.cmdw (addr, value) */
-    "ew %x %x\n",              /* setmem.cmdl (addr, value) */
-    NULL,                      /* setmem.cmdll (addr, value) */
-    NULL,                      /* setreg.resp_delim */
-    NULL,                      /* setreg.term */
-    NULL,                      /* setreg.term_cmd */
-  },
-  {
-    "db %x %x\n",              /* getmem.cmdb (startaddr, endaddr) */
-    "dh %x %x\n",              /* getmem.cmdw (startaddr, endaddr) */
-    "dw %x %x\n",              /* getmem.cmdl (startaddr, endaddr) */
-    NULL,                      /* getmem.cmdll (startaddr, endaddr) */
-    "  ",                      /* getmem.resp_delim */
-    NULL,                      /* getmem.term */
-    NULL,                      /* getmem.term_cmd */
-  },
-  {
-    "r %s %x\n",               /* setreg.cmd (name, value) */
-    NULL,                      /* setreg.resp_delim */
-    NULL,                      /* setreg.term */
-    NULL,                      /* setreg.term_cmd */
-  },
-  {
-    "r %s\n",                  /* getreg.cmd (name) */
-    "\r",                      /* getreg.resp_delim */
-    NULL,                      /* getreg.term */
-    NULL,                      /* getreg.term_cmd */
-  },
-  "r\n",                       /* dump_registers */
-  "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+",
-  w89k_supply_register,                /* supply_register */
-  w89k_load,                   /* load routine */
-  "u %x\n",                    /* download command */
-  "\021",                      /* load response (^Q) */
-  "ROM>",                      /* monitor command prompt */
-  "\n",                                /* end-of-line terminator */
-  NULL,                                /* optional command terminator */
-  &w89k_ops,                   /* target operations */
-  SERIAL_1_STOPBITS,           /* number of stop bits */
-  w89k_regnames,               /* register names */
-  MONITOR_OPS_MAGIC            /* magic */
-  };
-
+  w89k_cmds.flags =   MO_GETMEM_NEEDS_RANGE|MO_FILL_USES_ADDR; /* flags */
+  w89k_cmds.init =   w89k_inits;               /* Init strings */
+  w89k_cmds.cont =   "g\n";                    /* continue command */
+  w89k_cmds.step =   "t\n";                    /* single step */
+  w89k_cmds.stop =   "\003";                   /* Interrupt char (^C) */
+  w89k_cmds.set_break =   "bp %x\n";           /* set a breakpoint */
+  w89k_cmds.clr_break =   "bc %x\n";           /* clear a breakpoint */
+  w89k_cmds.clr_all_break =   "bc *\n";                /* clear all breakpoints */
+  w89k_cmds.fill =   "f %x %x %x\n";           /* memory fill cmd */
+  w89k_cmds.setmem.cmdb =     "eb %x %x\n";    /* setmem.cmdb (addr, value) */
+  w89k_cmds.setmem.cmdw =     "eh %x %x\n";    /* setmem.cmdw (addr, value) */
+  w89k_cmds.setmem.cmdl =     "ew %x %x\n";    /* setmem.cmdl (addr, value) */
+  w89k_cmds.setmem.cmdll =     NULL;           /* setmem.cmdll (addr, value) */
+  w89k_cmds.setmem.resp_delim =     NULL;      /* setreg.resp_delim */
+  w89k_cmds.setmem.term =     NULL;            /* setreg.term */
+  w89k_cmds.setmem.term_cmd =     NULL;                /* setreg.term_cmd */
+  w89k_cmds.getmem.cmdb =     "db %x %x\n";/* getmem.cmdb (startaddr, endaddr) */
+  w89k_cmds.getmem.cmdw =     "dh %x %x\n";/* getmem.cmdw (startaddr, endaddr) */
+  w89k_cmds.getmem.cmdl =     "dw %x %x\n";/* getmem.cmdl (startaddr, endaddr) */
+  w89k_cmds.getmem.cmdll =     NULL;     /* getmem.cmdll (startaddr, endaddr) */
+  w89k_cmds.getmem.resp_delim =     "  ";      /* getmem.resp_delim */
+  w89k_cmds.getmem.term =     NULL;            /* getmem.term */
+  w89k_cmds.getmem.term_cmd =     NULL;                /* getmem.term_cmd */
+  w89k_cmds.setreg.cmd =     "r %s %x\n";      /* setreg.cmd (name, value) */
+  w89k_cmds.setreg.resp_delim =     NULL;      /* setreg.resp_delim */
+  w89k_cmds.setreg.term =     NULL;            /* setreg.term */
+  w89k_cmds.setreg.term_cmd =     NULL;                /* setreg.term_cmd */
+  w89k_cmds.getreg.cmd =     "r %s\n";         /* getreg.cmd (name) */
+  w89k_cmds.getreg.resp_delim =     "\r";      /* getreg.resp_delim */
+  w89k_cmds.getreg.term =     NULL;            /* getreg.term */
+  w89k_cmds.getreg.term_cmd =     NULL;                /* getreg.term_cmd */
+  w89k_cmds.dump_registers =   "r\n";          /* dump_registers */
+  w89k_cmds.register_pattern =   "\\(\\w+\\)\\( +[0-9a-fA-F]+\\b\\)+";
+  w89k_cmds.supply_register =   w89k_supply_register;          /* supply_register */
+  w89k_cmds.load_routine =   w89k_load;                /* load routine */
+  w89k_cmds.load =   "u %x\n";                 /* download command */
+  w89k_cmds.loadresp =   "\021";               /* load response (^Q) */
+  w89k_cmds.prompt =   "ROM>";                 /* monitor command prompt */
+  w89k_cmds.line_term =   "\n";                        /* end-of-line terminator */
+  w89k_cmds.cmd_end =   NULL;                  /* optional command terminator */
+  w89k_cmds.target =   &w89k_ops;              /* target operations */
+  w89k_cmds.stopbits =   SERIAL_1_STOPBITS;    /* number of stop bits */
+  w89k_cmds.regnames =   w89k_regnames;                /* register names */
+  w89k_cmds.magic =   MONITOR_OPS_MAGIC        ;       /* magic */
+} /* init_w89k_cmds */
+    
 static void
 w89k_open(args, from_tty)
      char *args;
@@ -309,6 +303,7 @@ w89k_open(args, from_tty)
 void
 _initialize_w89k ()
 {
+  init_w89k_cmds() ;
   init_monitor_ops (&w89k_ops);
 
   w89k_ops.to_shortname = "w89k";