/* Remote debugging interface for AMD 29k interfaced via UDI, for GDB.
- Copyright 1990, 1992, 1995, 2000 Free Software Foundation, Inc.
+ Copyright 1990, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+ Free Software Foundation, Inc.
Written by Daniel Mann. Contributed by AMD.
This file is part of GDB.
#include "defs.h"
#include "frame.h"
#include "inferior.h"
-#include "gdb_wait.h"
#include "value.h"
#include <ctype.h>
#include <fcntl.h>
-#include <signal.h>
#include <errno.h>
#include "gdb_string.h"
#include "terminal.h"
#include "gdbcmd.h"
#include "bfd.h"
#include "gdbcore.h" /* For download function */
+#include "regcache.h"
/* access the register store directly, without going through
the normal handler functions. This avoids an extra data copy. */
extern int stop_soon_quietly; /* for wait_for_inferior */
extern struct value *call_function_by_hand ();
-static void udi_resume (int pid, int step, enum target_signal sig);
+static void udi_resume (ptid_t ptid, int step, enum target_signal sig);
static void udi_fetch_registers (int regno);
static void udi_load (char *args, int from_tty);
static void fetch_register (int regno);
entry.Offset = 0;
}
- inferior_pid = 40000;
+ inferior_ptid = pid_to_ptid (40000);
if (!entry.Offset)
download (execfile, 0);
if (!name)
error ("Usage: target udi config_id, where config_id appears in udi_soc file");
- udi_config_id = strdup (strtok (name, " \t"));
+ udi_config_id = xstrdup (strtok (name, " \t"));
if (UDIConnect (udi_config_id, &udi_session_id))
/* FIXME: Should set udi_session_id to -1 here. */
/* Do not try to close udi_session_id again, later in the program. */
udi_session_id = -1;
- inferior_pid = 0;
+ inferior_ptid = null_ptid;
printf_filtered (" Ending remote debugging\n");
}
/* Don't try to UDIDisconnect it again in udi_close, which is called from
pop_target. */
udi_session_id = -1;
- inferior_pid = 0;
+ inferior_ptid = null_ptid;
pop_target ();
** Tell the remote machine to resume. */
static void
-udi_resume (int pid, int step, enum target_signal sig)
+udi_resume (ptid_t ptid, int step, enum target_signal sig)
{
UDIError tip_error;
UDIUInt32 Steps = 1;
** Wait until the remote machine stops, then return,
storing status in STATUS just as `wait' would. */
-static int
-udi_wait (int pid, struct target_waitstatus *status)
+static ptid_t
+udi_wait (int ptid_t, struct target_waitstatus *status)
{
UDIInt32 MaxTime;
UDIPId PId;
timeout = old_timeout; /* Restore original timeout value */
immediate_quit = old_immediate_quit;
- return inferior_pid;
+ return inferior_ptid;
}
#if 0
/* FIXME! Merge these two. */
static int
udi_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len, int write,
- struct target_ops * target)
+ struct mem_attrib *attrib ATTRIBUTE_UNUSED,
+ struct target_ops *target ATTRIBUTE_UNUSED)
{
memaddr = translate_addr (memaddr);
UDIStop ();
udi_session_id = -1;
- inferior_pid = 0;
+ inferior_ptid = null_ptid;
if (from_tty)
printf_unfiltered ("Target has been stopped.");
/* Do not try to close udi_session_id again, later in the program. */
udi_session_id = -1;
- inferior_pid = 0;
+ inferior_ptid = null_ptid;
}
/*