gem5  v21.0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
RiscvISA::RemoteGDB Class Reference

#include <remote_gdb.hh>

Inheritance diagram for RiscvISA::RemoteGDB:
BaseRemoteGDB

Classes

class  RiscvGdbRegCache
 

Public Member Functions

 RemoteGDB (System *_system, ThreadContext *tc, int _port)
 
BaseGdbRegCachegdbRegs () override
 
std::vector< std::string > availableFeatures () const override
 Informs GDB remote serial protocol that XML features are supported GDB then queries for xml blobs using qXfer:features:read:xxx.xml. More...
 
bool getXferFeaturesRead (const std::string &annex, std::string &output) override
 Reply to qXfer:features:read:xxx.xml qeuries. More...
 
- Public Member Functions inherited from BaseRemoteGDB
bool breakpoint ()
 
void replaceThreadContext (ThreadContext *tc)
 
virtual ~BaseRemoteGDB ()
 
 BaseRemoteGDB (System *system, ThreadContext *context, int _port)
 Interface to other parts of the simulator. More...
 
virtual ~BaseRemoteGDB ()
 
std::string name ()
 
void listen ()
 
void connect ()
 
int port () const
 
void attach (int fd)
 
void detach ()
 
bool isAttached ()
 
void replaceThreadContext (ThreadContext *_tc)
 
bool trap (int type)
 
bool breakpoint ()
 

Protected Member Functions

bool acc (Addr addr, size_t len) override
 
bool checkBpLen (size_t len) override
 
- Protected Member Functions inherited from BaseRemoteGDB
ThreadContextcontext ()
 
Systemsystem ()
 
void encodeBinaryData (const std::string &unencoded, std::string &encoded) const
 
void encodeXferResponse (const std::string &unencoded, std::string &encoded, size_t offset, size_t unencoded_length) const
 

Protected Attributes

RiscvGdbRegCache regCache
 

Static Protected Attributes

static const int NumGDBRegs = 4162
 
static const int NumCSRs = 4096
 

Detailed Description

Definition at line 47 of file remote_gdb.hh.

Constructor & Destructor Documentation

◆ RemoteGDB()

RemoteGDB::RemoteGDB ( System _system,
ThreadContext tc,
int  _port 
)

Definition at line 153 of file remote_gdb.cc.

Member Function Documentation

◆ acc()

bool RemoteGDB::acc ( Addr  addr,
size_t  len 
)
overrideprotectedvirtual

◆ availableFeatures()

std::vector<std::string> RiscvISA::RemoteGDB::availableFeatures ( ) const
inlineoverridevirtual

Informs GDB remote serial protocol that XML features are supported GDB then queries for xml blobs using qXfer:features:read:xxx.xml.

Reimplemented from BaseRemoteGDB.

Definition at line 150 of file remote_gdb.hh.

◆ checkBpLen()

bool RiscvISA::RemoteGDB::checkBpLen ( size_t  len)
inlineoverrideprotectedvirtual

Reimplemented from BaseRemoteGDB.

Definition at line 55 of file remote_gdb.hh.

References ArmISA::len.

◆ gdbRegs()

BaseGdbRegCache * RemoteGDB::gdbRegs ( )
overridevirtual

Implements BaseRemoteGDB.

Definition at line 485 of file remote_gdb.cc.

References regCache.

◆ getXferFeaturesRead()

bool RemoteGDB::getXferFeaturesRead ( const std::string &  annex,
std::string &  output 
)
overridevirtual

Reply to qXfer:features:read:xxx.xml qeuries.

Blobs e.g. gdb_xml_riscv_target are generated by adding GdbXml(<xml_file_name>, <blob_name>) to src/arch/riscv/Sconscript.

Import using #include blobs/<blob_name>.hh

Reimplemented from BaseRemoteGDB.

Definition at line 458 of file remote_gdb.cc.

References GDB_XML, and output().

Member Data Documentation

◆ NumCSRs

const int RiscvISA::RemoteGDB::NumCSRs = 4096
staticprotected

Definition at line 51 of file remote_gdb.hh.

◆ NumGDBRegs

const int RiscvISA::RemoteGDB::NumGDBRegs = 4162
staticprotected

Definition at line 50 of file remote_gdb.hh.

◆ regCache

RiscvGdbRegCache RiscvISA::RemoteGDB::regCache
protected

Definition at line 140 of file remote_gdb.hh.

Referenced by gdbRegs().


The documentation for this class was generated from the following files:

Generated on Tue Jun 22 2021 15:29:10 for gem5 by doxygen 1.8.17