]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/ppcbug-rom.c
2011-01-10 Michael Snyder <msnyder@vmware.com>
[thirdparty/binutils-gdb.git] / gdb / ppcbug-rom.c
index 3eac535e7a4aa2b85c7502a0081d77869b78aacd..db12054d31d3081ea8f46ec3956dc30d59d062ff 100644 (file)
@@ -1,6 +1,7 @@
 /* Remote debugging interface for PPCbug (PowerPC) Rom monitor
    for GDB, the GNU debugger.
-   Copyright 1995 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1998, 1999, 2000, 2001, 2007, 2008, 2009, 2010, 2011
+   Free Software Foundation, Inc.
 
    Written by Stu Grossman of Cygnus Support
 
@@ -8,7 +9,7 @@
 
    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,
    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 "target.h"
 #include "monitor.h"
 #include "serial.h"
-
-static void ppcbug_open PARAMS ((char *args, int from_tty));
+#include "regcache.h"
 
 static void
-ppcbug_supply_register (regname, regnamelen, val, vallen)
-     char *regname;
-     int regnamelen;
-     char *val;
-     int vallen;
+ppcbug_supply_register (struct regcache *regcache, char *regname,
+                       int regnamelen, char *val, int vallen)
 {
-  int regno = 0, base = 0;
+  int regno = 0;
 
   if (regnamelen < 2 || regnamelen > 4)
     return;
@@ -96,17 +91,17 @@ ppcbug_supply_register (regname, regnamelen, val, vallen)
       return;
     }
 
-  monitor_supply_register (regno, val);
+  monitor_supply_register (regcache, regno, val);
 }
 
 /*
- * This array of registers needs to match the indexes used by GDB. The
+ * 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. So, typing "info reg sp" becomes an "A7".
+ * registers either.  So, typing "info reg sp" becomes an "A7".
  */
 
-static char *ppcbug_regnames[NUM_REGS] =
+static char *ppcbug_regnames[] =
 {
   "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
   "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
@@ -123,9 +118,9 @@ static char *ppcbug_regnames[NUM_REGS] =
 };
 
 /*
- * Define the monitor command strings. Since these are passed directly
+ * Define the monitor command strings.  Since these are passed directly
  * through to a printf style function, we need can include formatting
- * strings. We also need a CR or LF on the end.
+ * strings.  We also need a CR or LF on the end.
  */
 
 static struct target_ops ppcbug_ops0;
@@ -170,8 +165,9 @@ init_ppc_cmds (char *LOAD_CMD,
   OPS->getreg.resp_delim = "=";        /* getreg.resp_delim */
   OPS->getreg.term = NULL;     /* getreg.term */
   OPS->getreg.term_cmd = NULL; /* getreg.term_cmd */
-  OPS->register_pattern = "\\(\\w+\\) +=\\([0-9a-fA-F]+\\b\\)";                /* register_pattern */
-  OPS->supply_register = ppcbug_supply_register;       /* supply_register */
+                               /* register_pattern */
+  OPS->register_pattern = "\\(\\w+\\) +=\\([0-9a-fA-F]+\\b\\)";
+  OPS->supply_register = ppcbug_supply_register;
   OPS->dump_registers = "rd\r";        /* dump all registers */
   OPS->load_routine = NULL;    /* load_routine (defaults to SRECs) */
   OPS->load = LOAD_CMD;                /* download command */
@@ -190,23 +186,21 @@ static struct monitor_ops ppcbug_cmds0;
 static struct monitor_ops ppcbug_cmds1;
 
 static void
-ppcbug_open0 (args, from_tty)
-     char *args;
-     int from_tty;
+ppcbug_open0 (char *args, int from_tty)
 {
   monitor_open (args, &ppcbug_cmds0, from_tty);
 }
 
 static void
-ppcbug_open1 (args, from_tty)
-     char *args;
-     int from_tty;
+ppcbug_open1 (char *args, int from_tty)
 {
   monitor_open (args, &ppcbug_cmds1, from_tty);
 }
 
+extern initialize_file_ftype _initialize_ppcbug_rom; /* -Wmissing-prototypes */
+
 void
-_initialize_ppcbug_rom ()
+_initialize_ppcbug_rom (void)
 {
   init_ppc_cmds ("lo 0\r", &ppcbug_cmds0, &ppcbug_ops0);
   init_ppc_cmds ("lo 1\r", &ppcbug_cmds1, &ppcbug_ops1);