Line 29... |
Line 29... |
#ifndef RSP_CONNECTION__H
|
#ifndef RSP_CONNECTION__H
|
#define RSP_CONNECTION__H
|
#define RSP_CONNECTION__H
|
|
|
#include "RspPacket.h"
|
#include "RspPacket.h"
|
|
|
|
|
//! The default service to use if port number = 0 and no service specified
|
//! The default service to use if port number = 0 and no service specified
|
#define DEFAULT_RSP_SERVICE "or1ksim-rsp"
|
#define DEFAULT_RSP_SERVICE "or1ksim-rsp"
|
|
|
|
|
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
//! Class implementing the RSP connection listener
|
//! Class implementing the RSP connection listener
|
|
|
//! RSP requests received from TCP/IP are queued on the output FIFO for
|
//! RSP requests received from TCP/IP are queued on the output FIFO for
|
//! processing by the GDB server. Packets read from the input FIFO from the
|
//! processing by the GDB server. Packets read from the input FIFO from the
|
Line 55... |
Line 53... |
//! Two threads are used, one to listen for TCP/IP connections from the
|
//! Two threads are used, one to listen for TCP/IP connections from the
|
//! client, the other to look for FIFO packets from the GDB server to write
|
//! client, the other to look for FIFO packets from the GDB server to write
|
//! back to the client. Both must be non-blocking in the SystemC sense
|
//! back to the client. Both must be non-blocking in the SystemC sense
|
//! (i.e. allow other SystemC threads to run).
|
//! (i.e. allow other SystemC threads to run).
|
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
class RspConnection
|
class RspConnection {
|
{
|
|
public:
|
public:
|
|
|
// Constructors and destructor
|
// Constructors and destructor
|
RspConnection (int _portNum);
|
RspConnection (int _portNum);
|
RspConnection (const char *_serviceName = DEFAULT_RSP_SERVICE);
|
RspConnection (const char *_serviceName = DEFAULT_RSP_SERVICE);
|
Line 79... |
Line 76... |
int getRspChar ();
|
int getRspChar ();
|
|
|
private:
|
private:
|
|
|
// Generic initializer
|
// Generic initializer
|
void rspInit (int _portNum,
|
void rspInit(int _portNum, const char *_serviceName);
|
const char *_serviceName);
|
|
|
|
// Internal routines to handle individual chars
|
// Internal routines to handle individual chars
|
bool putRspChar (char c);
|
bool putRspChar (char c);
|
//int getRspChar ();
|
//int getRspChar ();
|
|
|