/* Memory-access and commands for remote es1800 processes, for GDB.
- Copyright 1988, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
- Free Software Foundation, Inc.
+
+ Copyright 1988, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
+ 2001, 2002 Free Software Foundation, Inc.
This file is added to GDB to make it possible to do debugging via an
ES-1800 emulator. The code was originally written by Johan Holmberg
#include "gdbcore.h"
#include "serial.h"
#include "regcache.h"
+#include "value.h"
/* Prototypes for local functions */
static void es1800_files_info (struct target_ops *);
-static int
-es1800_xfer_inferior_memory (CORE_ADDR, char *, int, int,
- struct mem_attrib *, struct target_ops *);
+static int es1800_xfer_inferior_memory (CORE_ADDR, char *, int, int,
+ struct mem_attrib *,
+ struct target_ops *);
static void es1800_prepare_to_store (void);
es1800_open knows that we don't have a file open when the program
starts. */
-static serial_t es1800_desc = NULL;
+static struct serial *es1800_desc = NULL;
#define PBUFSIZ 1000
#define HDRLEN sizeof("@.BAAAAAAAA=$VV\r")
#ifndef DEBUG_STDIN
- es1800_desc = SERIAL_OPEN (name);
+ es1800_desc = serial_open (name);
if (es1800_desc == NULL)
{
perror_with_name (name);
}
savename = savestring (name, strlen (name));
- es1800_saved_ttystate = SERIAL_GET_TTY_STATE (es1800_desc);
+ es1800_saved_ttystate = serial_get_tty_state (es1800_desc);
- if ((fcflag = fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_GETFL, 0)) == -1)
+ if ((fcflag = fcntl (deprecated_serial_fd (es1800_desc), F_GETFL, 0)) == -1)
{
perror_with_name ("fcntl serial");
}
es1800_fc_save = fcflag;
fcflag = (fcflag & (FREAD | FWRITE)); /* mask out any funny stuff */
- if (fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_SETFL, fcflag) == -1)
+ if (fcntl (deprecated_serial_fd (es1800_desc), F_SETFL, fcflag) == -1)
{
perror_with_name ("fcntl serial");
}
if (baud_rate != -1)
{
- if (SERIAL_SETBAUDRATE (es1800_desc, baud_rate))
+ if (serial_setbaudrate (es1800_desc, baud_rate))
{
- SERIAL_CLOSE (es1800_desc);
+ serial_close (es1800_desc);
perror_with_name (name);
}
}
- SERIAL_RAW (es1800_desc);
+ serial_raw (es1800_desc);
/* If there is something sitting in the buffer we might take it as a
response to a command, which would be bad. */
- SERIAL_FLUSH_INPUT (es1800_desc);
+ serial_flush_input (es1800_desc);
#endif /* DEBUG_STDIN */
if (es1800_desc != NULL)
{
printf ("\nClosing connection to emulator...\n");
- if (SERIAL_SET_TTY_STATE (es1800_desc, es1800_saved_ttystate) < 0)
+ if (serial_set_tty_state (es1800_desc, es1800_saved_ttystate) < 0)
print_sys_errmsg ("warning: unable to restore tty state", errno);
- fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_SETFL, es1800_fc_save);
- SERIAL_CLOSE (es1800_desc);
+ fcntl (deprecated_serial_fd (es1800_desc), F_SETFL, es1800_fc_save);
+ serial_close (es1800_desc);
es1800_desc = NULL;
}
if (savename != NULL)
static int
es1800_xfer_inferior_memory (CORE_ADDR memaddr, char *myaddr, int len,
- int write,
- struct mem_attrib *attrib ATTRIBUTE_UNUSED,
- struct target_ops *target ATTRIBUTE_UNUSED)
+ int write, struct mem_attrib *attrib,
+ struct target_ops *target)
{
int origlen = len;
int xfersize;
{
int ch;
- ch = SERIAL_READCHAR (es1800_desc, timeout);
+ ch = serial_readchar (es1800_desc, timeout);
/* FIXME: doing an error() here will probably cause trouble, at least if from
es1800_wait. */
send_with_reply (char *string, char *buf, int len)
{
send (string);
- SERIAL_WRITE (es1800_desc, "\r", 1);
+ serial_write (es1800_desc, "\r", 1);
#ifndef DEBUG_STDIN
expect (string, 1);
send_command (char *string)
{
send (string);
- SERIAL_WRITE (es1800_desc, "\r", 1);
+ serial_write (es1800_desc, "\r", 1);
#ifndef DEBUG_STDIN
expect (string, 0);
{
if (kiodebug)
{
- fprintf (stderr, "Sending: %s\n", string);
+ fprintf_unfiltered (gdb_stderr, "Sending: %s\n", string);
}
- SERIAL_WRITE (es1800_desc, string, strlen (string));
+ serial_write (es1800_desc, string, strlen (string));
}
if (kiodebug)
{
- fprintf (stderr, "message received :%s\n", buf);
+ fprintf_unfiltered (gdb_stderr, "message received :%s\n", buf);
}
}
perror_with_name ("ioctl console");
}
- if ((fcflag = fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_GETFL, 0)) == -1)
+ if ((fcflag = fcntl (deprecated_serial_fd (es1800_desc), F_GETFL, 0)) == -1)
{
perror_with_name ("fcntl serial");
}
es1800_fc_save = fcflag;
fcflag = fcflag | FNDELAY;
- if (fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_SETFL, fcflag) == -1)
+ if (fcntl (deprecated_serial_fd (es1800_desc), F_SETFL, fcflag) == -1)
{
perror_with_name ("fcntl serial");
}
{
es1800_buf[es1800_cnt++] = inputbuf[i++];
}
- if ((cc = SERIAL_WRITE (es1800_desc, es1800_buf, es1800_cnt)) == -1)
+ if ((cc = serial_write (es1800_desc, es1800_buf, es1800_cnt)) == -1)
{
perror_with_name ("FEL! write:");
}
perror_with_name ("FEL! read:");
}
- cc = read (DEPRECATED_SERIAL_FD (es1800_desc), inputbuf, inputcnt);
+ cc = read (deprecated_serial_fd (es1800_desc), inputbuf, inputcnt);
if (cc != -1)
{
for (i = 0; i < cc;)
close (console);
- if (fcntl (DEPRECATED_SERIAL_FD (es1800_desc), F_SETFL, es1800_fc_save) == -1)
+ if (fcntl (deprecated_serial_fd (es1800_desc), F_SETFL, es1800_fc_save) == -1)
{
perror_with_name ("FEL! fcntl");
}