gem5 v25.0.0.1
Loading...
Searching...
No Matches
gem5::fastmodel::FastmodelRemoteGDB Class Reference

#include <remote_gdb.hh>

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

Classes

class  AArch64GdbRegCache

Public Member Functions

 FastmodelRemoteGDB (System *_system, ListenSocketConfig _listen_config)
Public Member Functions inherited from gem5::ArmISA::RemoteGDB
 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 readBlob (Addr vaddr, size_t size, char *data) override
bool writeBlob (Addr vaddr, size_t size, const char *data) override
BaseGdbRegCachegdbRegs () override
Protected Member Functions inherited from gem5::ArmISA::RemoteGDB
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)
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

AArch64GdbRegCache regCache64
Protected Attributes inherited from gem5::ArmISA::RemoteGDB
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 39 of file remote_gdb.hh.

Constructor & Destructor Documentation

◆ FastmodelRemoteGDB()

gem5::fastmodel::FastmodelRemoteGDB::FastmodelRemoteGDB ( System * _system,
ListenSocketConfig _listen_config )

Definition at line 64 of file remote_gdb.cc.

References regCache64, and gem5::ArmISA::RemoteGDB::RemoteGDB().

Member Function Documentation

◆ gdbRegs()

BaseGdbRegCache * gem5::fastmodel::FastmodelRemoteGDB::gdbRegs ( )
overrideprotectedvirtual

◆ readBlob()

bool gem5::fastmodel::FastmodelRemoteGDB::readBlob ( Addr vaddr,
size_t size,
char * data )
overrideprotectedvirtual

◆ writeBlob()

bool gem5::fastmodel::FastmodelRemoteGDB::writeBlob ( Addr vaddr,
size_t size,
const char * data )
overrideprotectedvirtual

Member Data Documentation

◆ regCache64

AArch64GdbRegCache gem5::fastmodel::FastmodelRemoteGDB::regCache64
protected

Definition at line 56 of file remote_gdb.hh.

Referenced by FastmodelRemoteGDB(), and gdbRegs().


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

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