Line 61... |
Line 61... |
// a remote target. jb
|
// a remote target. jb
|
// 090505 Remove PPC polling - caused intermittent errors
|
// 090505 Remove PPC polling - caused intermittent errors
|
// in or1k jb
|
// in or1k jb
|
// 090828 Fixed byte/non-aligned accesses. Removed legacy
|
// 090828 Fixed byte/non-aligned accesses. Removed legacy
|
// "remote JTAG" protocol. jb
|
// "remote JTAG" protocol. jb
|
|
// 100924 Added RSP query handlers for things new to with
|
|
// gdb-7.2 jb
|
|
|
#ifdef CYGWIN_COMPILE
|
#ifdef CYGWIN_COMPILE
|
|
|
#else
|
#else
|
// linux includes
|
// linux includes
|
#include <time.h>
|
#include <time.h>
|
Line 2594... |
Line 2597... |
/* Return the current thread ID (unsigned hex). A null response
|
/* Return the current thread ID (unsigned hex). A null response
|
indicates to use the previously selected thread. Since we do not
|
indicates to use the previously selected thread. Since we do not
|
support a thread concept, this is the appropriate response. */
|
support a thread concept, this is the appropriate response. */
|
put_str_packet ("");
|
put_str_packet ("");
|
}
|
}
|
|
if (0 == strncmp ("qAttached", p_buf->data, strlen ("qAttached")))
|
|
{
|
|
/* Return an indication of whether the remote server attached to an
|
|
existing process or created a new process.
|
|
Reply: '1' - The remote server attached to an existing process.
|
|
'0' - The remote server created a new process. */
|
|
put_str_packet ("1");
|
|
}
|
else if (0 == strncmp ("qCRC", p_buf->data, strlen ("qCRC")))
|
else if (0 == strncmp ("qCRC", p_buf->data, strlen ("qCRC")))
|
{
|
{
|
/* Return CRC of memory area */
|
/* Return CRC of memory area */
|
fprintf (stderr, "Warning: RSP CRC query not supported\n");
|
fprintf (stderr, "Warning: RSP CRC query not supported\n");
|
put_str_packet ("E01");
|
put_str_packet ("E01");
|
Line 2674... |
Line 2685... |
/* For now we support no 'qXfer' requests, but these should not be
|
/* For now we support no 'qXfer' requests, but these should not be
|
expected, since they were not reported by 'qSupported' */
|
expected, since they were not reported by 'qSupported' */
|
fprintf (stderr, "Warning: RSP 'qXfer' not supported: ignored\n");
|
fprintf (stderr, "Warning: RSP 'qXfer' not supported: ignored\n");
|
put_str_packet ("");
|
put_str_packet ("");
|
}
|
}
|
|
else if (0 == strncmp ("qTStatus", p_buf->data, strlen ("qTStatus")))
|
|
{
|
|
/* Ask the stub if there is a trace experiment running right now.
|
|
The reply has the form:
|
|
`Trunning[;field]...'
|
|
running is a single digit 1 if the trace is presently running, or 0
|
|
if not. It is followed by semicolon-separated optional fields that an
|
|
agent may use to report additional status.
|
|
*/
|
|
put_str_packet ("T0");
|
|
}
|
|
else if ((0 == strncmp ("qTfV", p_buf->data, strlen ("qTfV"))) ||
|
|
(0 == strncmp ("qTsV", p_buf->data, strlen ("qTsV"))))
|
|
{
|
|
/*
|
|
These packets request data about trace state variables that are on the
|
|
target. gdb sends qTfV to get the first vari of data, and multiple qTsV
|
|
to get additional variables. Replies to these packets follow the syntax
|
|
of the QTDV packets that define trace state variables.
|
|
*/
|
|
put_str_packet ("");
|
|
}
|
|
else if (0 == strncmp ("qTfP", p_buf->data, strlen ("qTfP")))
|
|
{
|
|
/*
|
|
These packets request data about tracepoints that are being used by the
|
|
target. gdb sends qTfP to get the first piece of data, and multiple
|
|
qTsP to get additional pieces. Replies to these packets generally take
|
|
the form of the QTDP packets that define tracepoints. (FIXME add
|
|
detailed syntax)
|
|
*/
|
|
put_str_packet ("");
|
|
}
|
else
|
else
|
{
|
{
|
fprintf (stderr, "Unrecognized RSP query: ignored\n");
|
fprintf (stderr, "Unrecognized RSP query: ignored\n");
|
}
|
}
|
} /* rsp_query () */
|
} /* rsp_query () */
|