#include "defs.h"
#include "inferior.h"
-#include "wait.h"
+#include "gdb_wait.h"
#include "value.h"
#include "callback.h"
#include "command.h"
#include "symfile.h"
#include "remote-utils.h"
#include "gdb_string.h"
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
#include "gdbcore.h"
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
extern struct target_ops remote_rdp_ops;
static serial_t io;
static char *commandline = NULL;
static int
-remote_rdp_xfer_inferior_memory PARAMS ((CORE_ADDR memaddr,
- char *myaddr,
- int len,
- int write,
- struct target_ops * target));
+remote_rdp_xfer_inferior_memory (CORE_ADDR memaddr,
+ char *myaddr,
+ int len,
+ int write, struct target_ops *target);
/* Stuff for talking to the serial layer. */
static unsigned char
-get_byte ()
+get_byte (void)
{
int c = SERIAL_READCHAR (io, timeout);
/* Note that the target always speaks little-endian to us,
even if it's a big endian machine. */
static unsigned int
-get_word ()
+get_word (void)
{
unsigned int val = 0;
unsigned int c;
}
static void
-put_byte (val)
- char val;
+put_byte (char val)
{
if (remote_debug)
fprintf_unfiltered (gdb_stdlog, "(%02x)\n", val);
}
static void
-put_word (val)
- int val;
+put_word (int val)
{
/* We always send in little endian */
unsigned char b[4];
*/
static void
-rdp_init (cold, tty)
- int cold;
- int tty;
+rdp_init (int cold, int tty)
{
int sync = 0;
int type = cold ? RDP_OPEN_TYPE_COLD : RDP_OPEN_TYPE_WARM;
abort ();
}
}
- va_end (args);
+ va_end (alist);
if (dst != buf)
abort ();
static int
-rdp_write (memaddr, buf, len)
- CORE_ADDR memaddr;
- char *buf;
- int len;
+rdp_write (CORE_ADDR memaddr, char *buf, int len)
{
int res;
int val;
static int
-rdp_read (memaddr, buf, len)
- CORE_ADDR memaddr;
- char *buf;
- int len;
+rdp_read (CORE_ADDR memaddr, char *buf, int len)
{
int res;
int val;
}
static void
-rdp_fetch_one_register (mask, buf)
- int mask;
- char *buf;
+rdp_fetch_one_register (int mask, char *buf)
{
int val;
send_rdp ("bbw-SWZ", RDP_CPU_READ, RDP_CPU_READWRITE_MODE_CURRENT, mask, &val);
}
static void
-rdp_fetch_one_fpu_register (mask, buf)
- int mask;
- char *buf;
+rdp_fetch_one_fpu_register (int mask, char *buf)
{
#if 0
/* !!! Since the PIE board doesn't work as documented,
static void
-rdp_store_one_register (mask, buf)
- int mask;
- char *buf;
+rdp_store_one_register (int mask, char *buf)
{
int val = extract_unsigned_integer (buf, 4);
static void
-rdp_store_one_fpu_register (mask, buf)
- int mask;
- char *buf;
+rdp_store_one_fpu_register (int mask, char *buf)
{
#if 0
/* See comment in fetch_one_fpu_register */
/* Convert between GDB requests and the RDP layer. */
static void
-remote_rdp_fetch_register (regno)
- int regno;
+remote_rdp_fetch_register (int regno)
{
if (regno == -1)
{
static void
-remote_rdp_store_register (regno)
- int regno;
+remote_rdp_store_register (int regno)
{
if (regno == -1)
{
}
static void
-remote_rdp_kill ()
+remote_rdp_kill (void)
{
callback->shutdown (callback);
}
static void
-rdp_info ()
+rdp_info (void)
{
send_rdp ("bw-S-W-Z", RDP_INFO, RDP_INFO_ABOUT_STEP,
&ds.step_info);
static void
-rdp_execute_start ()
+rdp_execute_start (void)
{
/* Start it off, but don't wait for it */
send_rdp ("bb-", RDP_EXEC, RDP_EXEC_TYPE_SYNC);
static void
-rdp_set_command_line (command, args)
- char *command;
- char *args;
+rdp_set_command_line (char *command, char *args)
{
/*
** We could use RDP_INFO_SET_CMDLINE to send this, but EmbeddedICE systems
*/
if (commandline != NULL)
- free (commandline);
+ xfree (commandline);
commandline = malloc (strlen (command) + strlen (args) + 2);
if (commandline != NULL)
}
static void
-rdp_catch_vectors ()
+rdp_catch_vectors (void)
{
/*
** We want the target monitor to intercept the abort vectors
};
static int
-exec_swi (swi, args)
- int swi;
- argsin *args;
+exec_swi (int swi, argsin *args)
{
int i;
char c;
static void
-handle_swi ()
+handle_swi (void)
{
argsin args[3];
char *buf;
break;
default:
- error ("Unimplented SWI argument");
+ error ("Unimplemented SWI argument");
}
type = type >> 2;
}
static void
-rdp_execute_finish ()
+rdp_execute_finish (void)
{
int running = 1;
static void
-rdp_execute ()
+rdp_execute (void)
{
rdp_execute_start ();
rdp_execute_finish ();
}
static int
-remote_rdp_insert_breakpoint (addr, save)
- CORE_ADDR addr;
- char *save;
+remote_rdp_insert_breakpoint (CORE_ADDR addr, char *save)
{
int res;
if (ds.rdi_level > 0)
}
static int
-remote_rdp_remove_breakpoint (addr, save)
- CORE_ADDR addr;
- char *save;
+remote_rdp_remove_breakpoint (CORE_ADDR addr, char *save)
{
int res;
if (ds.rdi_level > 0)
}
static void
-rdp_step ()
+rdp_step (void)
{
if (ds.can_step && 0)
{
char handle[4];
CORE_ADDR pc = read_register (PC_REGNUM);
pc = arm_get_next_pc (pc);
- remote_rdp_insert_breakpoint (pc, &handle);
+ remote_rdp_insert_breakpoint (pc, handle);
rdp_execute ();
- remote_rdp_remove_breakpoint (pc, &handle);
+ remote_rdp_remove_breakpoint (pc, handle);
}
}
static void
-remote_rdp_open (args, from_tty)
- char *args;
- int from_tty;
+remote_rdp_open (char *args, int from_tty)
{
int not_icebreaker;
/* Close out all files and local state before this target loses control. */
static void
-remote_rdp_close (quitting)
- int quitting;
+remote_rdp_close (int quitting)
{
callback->shutdown (callback);
if (io)
to the target, or zero for no signal. */
static void
-remote_rdp_resume (pid, step, siggnal)
- int pid, step;
- enum target_signal siggnal;
+remote_rdp_resume (int pid, int step, enum target_signal siggnal)
{
if (step)
rdp_step ();
just as `wait' would. */
static int
-remote_rdp_wait (pid, status)
- int pid;
- struct target_waitstatus *status;
+remote_rdp_wait (int pid, struct target_waitstatus *status)
{
switch (ds.rdi_stopped_status)
{
debugged. */
static void
-remote_rdp_prepare_to_store ()
+remote_rdp_prepare_to_store (void)
{
/* Do nothing, since we can store individual regs */
}
+/* Transfer LEN bytes between GDB address MYADDR and target address
+ MEMADDR. If WRITE is non-zero, transfer them to the target,
+ otherwise transfer them from the target. TARGET is unused.
+
+ Returns the number of bytes transferred. */
+
static int
-remote_rdp_xfer_inferior_memory (memaddr, myaddr, len, write, target)
- CORE_ADDR memaddr;
- char *myaddr;
- int len;
- int write;
- struct target_ops *target; /* ignored */
+remote_rdp_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len,
+ int write, struct target_ops *target)
{
/* I infer from D Taylor's code that there's a limit on the amount
we can transfer in one chunk.. */
static void
-dump_bits (t, info)
- struct yn *t;
- int info;
+dump_bits (struct yn *t, int info)
{
while (t->name)
{
}
static void
-remote_rdp_files_info (target)
- struct target_ops *target;
+remote_rdp_files_info (struct target_ops *target)
{
printf_filtered ("Target capabilities:\n");
dump_bits (stepinfo, ds.step_info);
static void
-remote_rdp_create_inferior (exec_file, allargs, env)
- char *exec_file;
- char *allargs;
- char **env;
+remote_rdp_create_inferior (char *exec_file, char *allargs, char **env)
{
CORE_ADDR entry_point;
/* Accept any stray run/attach commands */
static int
-remote_rdp_can_run ()
+remote_rdp_can_run (void)
{
return 1;
}
/* Attach doesn't need to do anything */
static void
-remote_rdp_attach (args, from_tty)
- char *args;
- int from_tty;
+remote_rdp_attach (char *args, int from_tty)
{
return;
}
}
void
-_initialize_remote_rdp ()
+_initialize_remote_rdp (void)
{
init_remote_rdp_ops ();
add_target (&remote_rdp_ops);