OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [or_debug_proxy/] [src/] [gdb.c] - Diff between revs 353 and 376

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 353 Rev 376
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 () */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.