summaryrefslogtreecommitdiffstats
path: root/contrib/gdb/gdb/dink32-rom.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gdb/gdb/dink32-rom.c')
-rw-r--r--contrib/gdb/gdb/dink32-rom.c82
1 files changed, 38 insertions, 44 deletions
diff --git a/contrib/gdb/gdb/dink32-rom.c b/contrib/gdb/gdb/dink32-rom.c
index c0c2e51..f62e712 100644
--- a/contrib/gdb/gdb/dink32-rom.c
+++ b/contrib/gdb/gdb/dink32-rom.c
@@ -1,39 +1,39 @@
/* Remote debugging interface for DINK32 (PowerPC) ROM monitor for
GDB, the GNU debugger.
- Copyright 1997 Free Software Foundation, Inc.
+ Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
-This file is part of GDB.
+ 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
-(at your option) any later version.
+ 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
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ 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. */
+ 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. */
#include "defs.h"
#include "gdbcore.h"
#include "target.h"
#include "monitor.h"
#include "serial.h"
+#include "symfile.h" /* For generic_load() */
+#include "inferior.h" /* For write_pc() */
+#include "regcache.h"
-static void dink32_open PARAMS ((char *args, int from_tty));
+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 (char *regname, int regnamelen, char *val, int vallen)
{
- int regno = 0, base = 0;
+ int regno = 0;
if (regnamelen < 2 || regnamelen > 4)
return;
@@ -97,20 +97,15 @@ dink32_supply_register (regname, regnamelen, val, vallen)
}
static void
-dink32_load (monops, filename, from_tty)
- struct monitor_ops *monops;
- char *filename;
- int from_tty;
+dink32_load (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 */
+ inferior_ptid = null_ptid; /* No process now */
}
@@ -119,37 +114,36 @@ dink32_load (monops, filename, from_tty)
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",
- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
- "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
+ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+ "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
+ "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23",
+ "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
+ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
+ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
- "srr0", "msr", "cr", "lr", "ctr", "xer", "xer"
+ "srr0", "msr", "cr", "lr", "ctr", "xer", "xer"
};
static struct target_ops dink32_ops;
-static char *dink32_inits[] = {"\r", NULL};
+static char *dink32_inits[] =
+{"\r", NULL};
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);
}
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.init = dink32_inits;
@@ -157,7 +151,7 @@ _initialize_dink32_rom ()
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";
@@ -176,7 +170,7 @@ _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... */
+#if 0 /* slow load routine not needed if S-records work... */
dink32_cmds.load_routine = dink32_load;
#endif
dink32_cmds.prompt = "DINK32_603 >>";
OpenPOWER on IntegriCloud