Remove support for old Cygwin 1.5 versions.
[deliverable/binutils-gdb.git] / gdb / dink32-rom.c
index 1d6f4d0fc2538c7ee36a2188623b25833cbaf30c..80a8ce7199e9b9498a8e7998d42849c755b36a3d 100644 (file)
@@ -1,12 +1,13 @@
 /* Remote debugging interface for DINK32 (PowerPC) ROM monitor for
    GDB, the GNU debugger.
-   Copyright 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2001, 2007, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -15,9 +16,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "gdbcore.h"
 #include "monitor.h"
 #include "serial.h"
 #include "symfile.h" /* For generic_load() */
-#include "inferior.h" /* For write_pc() */
+#include "inferior.h"
+#include "regcache.h"
 
 static void dink32_open (char *args, int from_tty);
 
 static void
-dink32_supply_register (regname, regnamelen, val, vallen)
-     char *regname;
-     int regnamelen;
-     char *val;
-     int vallen;
+dink32_supply_register (struct regcache *regcache, char *regname,
+                       int regnamelen, char *val, int vallen)
 {
   int regno = 0;
 
@@ -96,33 +93,15 @@ dink32_supply_register (regname, regnamelen, val, vallen)
       return;
     }
 
-  monitor_supply_register (regno, val);
+  monitor_supply_register (regcache, regno, val);
 }
 
-static void
-dink32_load (monops, filename, from_tty)
-     struct monitor_ops *monops;
-     char *filename;
-     int from_tty;
-{
-  extern int inferior_pid;
-
-  generic_load (filename, from_tty);
-
-  /* Finally, make the PC point at the start address */
-  if (exec_bfd)
-    write_pc (bfd_get_start_address (exec_bfd));
-
-  inferior_pid = 0;            /* No process now */
-}
-
-
-/* This array of registers needs to match the indexes used by GDB. The
-   whole reason this exists is because the various ROM monitors use
-   different names than GDB does, and don't support all the registers
-   either.  */
+/* This array of registers needs to match the indexes used by GDB.
+   The whole reason this exists is because the various ROM monitors
+   use different names than GDB does, and don't support all the
+   registers either.  */
 
-static char *dink32_regnames[NUM_REGS] =
+static char *dink32_regnames[] =
 {
   "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
   "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
@@ -145,23 +124,27 @@ static char *dink32_inits[] =
 static struct monitor_ops dink32_cmds;
 
 static void
-dink32_open (args, from_tty)
-     char *args;
-     int from_tty;
+dink32_open (char *args, int from_tty)
 {
   monitor_open (args, &dink32_cmds, from_tty);
 }
 
+extern initialize_file_ftype _initialize_dink32_rom; /* -Wmissing-prototypes */
+
 void
-_initialize_dink32_rom ()
+_initialize_dink32_rom (void)
 {
-  dink32_cmds.flags = MO_HEX_PREFIX | MO_GETMEM_NEEDS_RANGE | MO_FILL_USES_ADDR | MO_HANDLE_NL | MO_32_REGS_PAIRED | MO_SETREG_INTERACTIVE | MO_SETMEM_INTERACTIVE | MO_GETMEM_16_BOUNDARY | MO_CLR_BREAK_1_BASED | MO_SREC_ACK | MO_SREC_ACK_ROTATE;
+  dink32_cmds.flags = MO_HEX_PREFIX | MO_GETMEM_NEEDS_RANGE
+    | MO_FILL_USES_ADDR | MO_HANDLE_NL | MO_32_REGS_PAIRED
+    | MO_SETREG_INTERACTIVE | MO_SETMEM_INTERACTIVE
+    | MO_GETMEM_16_BOUNDARY | MO_CLR_BREAK_1_BASED | MO_SREC_ACK
+    | MO_SREC_ACK_ROTATE;
   dink32_cmds.init = dink32_inits;
   dink32_cmds.cont = "go +\r";
   dink32_cmds.step = "tr +\r";
   dink32_cmds.set_break = "bp 0x%x\r";
   dink32_cmds.clr_break = "bp %d\r";
-#if 0                          /* Would need to follow strict alignment rules.. */
+#if 0                  /* Would need to follow strict alignment rules..  */
   dink32_cmds.fill = "mf %x %x %x\r";
 #endif
   dink32_cmds.setmem.cmdb = "mm -b %x\r";
@@ -180,9 +163,6 @@ _initialize_dink32_rom ()
   /* S-record download, via "keyboard port".  */
   dink32_cmds.load = "dl -k\r";
   dink32_cmds.loadresp = "Set Input Port : set to Keyboard Port\r";
-#if 0                          /* slow load routine not needed if S-records work... */
-  dink32_cmds.load_routine = dink32_load;
-#endif
   dink32_cmds.prompt = "DINK32_603 >>";
   dink32_cmds.line_term = "\r";
   dink32_cmds.target = &dink32_ops;
This page took 0.026097 seconds and 4 git commands to generate.