gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::ArmISA::RemoteGDB Class Reference

#include <remote_gdb.hh>

Inheritance diagram for gem5::ArmISA::RemoteGDB:
gem5::BaseRemoteGDB gem5::fastmodel::FastmodelRemoteGDB

Classes

class  AArch32GdbRegCache
class  AArch64GdbRegCache

Public Member Functions

 RemoteGDB (System *_system, ListenSocketConfig _listen_config)
BaseGdbRegCachegdbRegs () override
bool checkBpKind (size_t kind) override
std::vector< std::string > availableFeatures () const override
bool getXferFeaturesRead (const std::string &annex, std::string &output) override
 Get an XML target description.
Public Member Functions inherited from gem5::BaseRemoteGDB
bool breakpoint ()
void replaceThreadContext (ThreadContext *tc)
bool trap (ContextID id, int type)
virtual ~BaseRemoteGDB ()
 BaseRemoteGDB (System *system, ListenSocketConfig _listen_config)
 Interface to other parts of the simulator.
virtual ~BaseRemoteGDB ()
std::string name ()
void listen ()
void connect ()
const ListenSockethostSocket () const
void attach (int fd)
void detach ()
bool isAttached ()
void addThreadContext (ThreadContext *_tc)
void replaceThreadContext (ThreadContext *_tc)
bool selectThreadContext (ContextID id)
void trap (ContextID id, GDBSignal sig, const std::string &stopReason="")
bool sendMessage (std::string message)
void scheduleTrapEvent (ContextID id, GDBSignal type, int delta, std::string stopReason)

Protected Member Functions

bool acc (Addr addr, size_t len) override
Protected Member Functions inherited from gem5::BaseRemoteGDB
void incomingData (int revent)
void incomingConnection (int revent)
uint8_t getbyte ()
bool try_getbyte (uint8_t *c, int timeout=-1)
void putbyte (uint8_t b)
void recv (std::vector< char > &bp)
void send (const char *data)
void send (const std::string &data)
template<typename ... Args>
void send (const char *format, const Args &...args)
void processCommands (GDBSignal sig=GDBSignal::ZERO)
virtual bool readBlob (Addr vaddr, size_t size, char *data)
virtual bool writeBlob (Addr vaddr, size_t size, const char *data)
bool read (Addr vaddr, size_t size, char *data)
bool write (Addr vaddr, size_t size, const char *data)
template<class T>
read (Addr addr)
template<class T>
void write (Addr addr, T data)
void singleStep ()
void clearSingleStep ()
void setSingleStep ()
void scheduleInstCommitEvent (Event *ev, int delta, ThreadContext *_tc)
 Schedule an event which will be triggered "delta" instructions later.
void scheduleInstCommitEvent (Event *ev, int delta)
void descheduleInstCommitEvent (Event *ev)
 Deschedule an instruction count based event.
virtual void insertSoftBreak (Addr addr, size_t kind)
virtual void removeSoftBreak (Addr addr, size_t kind)
virtual void insertHardBreak (Addr addr, size_t kind)
virtual void removeHardBreak (Addr addr, size_t kind)
void sendTPacket (GDBSignal sig, ContextID id, const std::string &stopReason)
void sendSPacket (GDBSignal sig)
void sendOPacket (const std::string message)
bool cmdUnsupported (GdbCommand::Context &ctx)
bool cmdSignal (GdbCommand::Context &ctx)
bool cmdCont (GdbCommand::Context &ctx)
bool cmdAsyncCont (GdbCommand::Context &ctx)
bool cmdDetach (GdbCommand::Context &ctx)
bool cmdRegR (GdbCommand::Context &ctx)
bool cmdRegW (GdbCommand::Context &ctx)
bool cmdSetThread (GdbCommand::Context &ctx)
bool cmdIsThreadAlive (GdbCommand::Context &ctx)
bool cmdMemR (GdbCommand::Context &ctx)
bool cmdMemW (GdbCommand::Context &ctx)
bool cmdQueryVar (GdbCommand::Context &ctx)
bool cmdStep (GdbCommand::Context &ctx)
bool cmdAsyncStep (GdbCommand::Context &ctx)
bool cmdClrHwBkpt (GdbCommand::Context &ctx)
bool cmdSetHwBkpt (GdbCommand::Context &ctx)
bool cmdDumpPageTable (GdbCommand::Context &ctx)
bool cmdMultiLetter (GdbCommand::Context &ctx)
bool cmdMultiUnsupported (GdbMultiLetterCommand::Context &ctx)
bool cmdReplyEmpty (GdbMultiLetterCommand::Context &ctx)
bool cmdVKill (GdbMultiLetterCommand::Context &ctx)
bool queryC (QuerySetCommand::Context &ctx)
bool querySupported (QuerySetCommand::Context &ctx)
bool queryXfer (QuerySetCommand::Context &ctx)
bool querySymbol (QuerySetCommand::Context &ctx)
bool queryRcmd (QuerySetCommand::Context &ctx)
bool queryAttached (QuerySetCommand::Context &ctx)
bool queryFThreadInfo (QuerySetCommand::Context &ctx)
bool querySThreadInfo (QuerySetCommand::Context &ctx)
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

AArch32GdbRegCache regCache32
AArch64GdbRegCache regCache64
Protected Attributes inherited from gem5::BaseRemoteGDB
friend IncomingConnectionEvent
friend IncomingDataEvent
IncomingConnectionEventincomingConnectionEvent
IncomingDataEventincomingDataEvent
ListenSocketPtr listener
int fd
bool attached = false
bool threadSwitching = false
Systemsys
std::map< ContextID, ThreadContext * > threads
ThreadContexttc = nullptr
BaseGdbRegCacheregCachePtr = nullptr
MemberEventWrapper<&BaseRemoteGDB::connectconnectEvent
MemberEventWrapper<&BaseRemoteGDB::detachdisconnectEvent
gem5::BaseRemoteGDB::TrapEvent trapEvent
MemberEventWrapper<&BaseRemoteGDB::singleStepsingleStepEvent
size_t threadInfoIdx = 0

Additional Inherited Members

Static Public Member Functions inherited from gem5::BaseRemoteGDB
template<class GDBStub, class ... Args>
static BaseRemoteGDBbuild (ListenSocketConfig listen_config, Args... args)
Protected Types inherited from gem5::BaseRemoteGDB
typedef SocketEvent<&BaseRemoteGDB::incomingConnectionIncomingConnectionEvent
typedef SocketEvent<&BaseRemoteGDB::incomingDataIncomingDataEvent
Static Protected Attributes inherited from gem5::BaseRemoteGDB
static std::map< char, GdbCommandcommandMap
static std::map< std::string, GdbMultiLetterCommandmultiLetterMap
static std::map< std::string, QuerySetCommandqueryMap

Detailed Description

Definition at line 63 of file remote_gdb.hh.

Constructor & Destructor Documentation

◆ RemoteGDB()

gem5::RemoteGDB::RemoteGDB ( System * _system,
ListenSocketConfig _listen_config )

Member Function Documentation

◆ acc()

◆ availableFeatures()

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

Reimplemented from gem5::BaseRemoteGDB.

Definition at line 125 of file remote_gdb.hh.

◆ checkBpKind()

bool gem5::RemoteGDB::checkBpKind ( size_t kind)
overridevirtual

Reimplemented from gem5::BaseRemoteGDB.

Definition at line 383 of file remote_gdb.cc.

◆ gdbRegs()

BaseGdbRegCache * gem5::RemoteGDB::gdbRegs ( )
overridevirtual

◆ getXferFeaturesRead()

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

Get an XML target description.

Parameters
[in]annexthe XML filename
[out]outputset to the decoded XML
Returns
true if the given annex was found

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 gem5::BaseRemoteGDB.

Definition at line 349 of file remote_gdb.cc.

References gem5::BaseRemoteGDB::context(), GDB_XML, gem5::ArmISA::inAArch64(), and gem5::output().

Member Data Documentation

◆ regCache32

AArch32GdbRegCache gem5::ArmISA::RemoteGDB::regCache32
protected

Definition at line 117 of file remote_gdb.hh.

Referenced by gdbRegs(), gem5::fastmodel::FastmodelRemoteGDB::gdbRegs(), and RemoteGDB().

◆ regCache64

AArch64GdbRegCache gem5::ArmISA::RemoteGDB::regCache64
protected

Definition at line 118 of file remote_gdb.hh.

Referenced by gdbRegs(), and RemoteGDB().


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

Generated on Sat Oct 18 2025 08:06:57 for gem5 by doxygen 1.14.0