gem5 v24.0.0.0
Loading...
Searching...
No Matches
gem5::BaseRemoteGDB Class Referenceabstract

#include <remote_gdb.hh>

Inheritance diagram for gem5::BaseRemoteGDB:
gem5::ArmISA::RemoteGDB gem5::MipsISA::RemoteGDB gem5::PowerISA::RemoteGDB gem5::RiscvISA::RemoteGDB gem5::SparcISA::RemoteGDB gem5::X86ISA::RemoteGDB gem5::fastmodel::FastmodelRemoteGDB

Classes

struct  GdbCommand
 
struct  GdbMultiLetterCommand
 
struct  QuerySetCommand
 
class  SocketEvent
 
class  TrapEvent
 

Public Member Functions

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)
 

Static Public Member Functions

template<class GDBStub , class ... Args>
static BaseRemoteGDBbuild (ListenSocketConfig listen_config, Args... args)
 

Protected Types

typedef SocketEvent<&BaseRemoteGDB::incomingConnectionIncomingConnectionEvent
 
typedef SocketEvent<&BaseRemoteGDB::incomingDataIncomingDataEvent
 

Protected Member Functions

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.
 
void insertSoftBreak (Addr addr, size_t kind)
 
void removeSoftBreak (Addr addr, size_t kind)
 
void insertHardBreak (Addr addr, size_t kind)
 
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
 
virtual bool checkBpKind (size_t kind)
 
virtual BaseGdbRegCachegdbRegs ()=0
 
virtual bool acc (Addr addr, size_t len)=0
 
virtual std::vector< std::string > availableFeatures () const
 
virtual bool getXferFeaturesRead (const std::string &annex, std::string &output)
 Get an XML target description.
 

Protected Attributes

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
 

Static Protected Attributes

static std::map< char, GdbCommandcommandMap
 
static std::map< std::string, GdbMultiLetterCommandmultiLetterMap
 
static std::map< std::string, QuerySetCommandqueryMap
 

Friends

class HardBreakpoint
 

Detailed Description

Definition at line 143 of file remote_gdb.hh.

Member Typedef Documentation

◆ IncomingConnectionEvent

◆ IncomingDataEvent

Constructor & Destructor Documentation

◆ ~BaseRemoteGDB()

gem5::BaseRemoteGDB::~BaseRemoteGDB ( )
inlinevirtual

Definition at line 57 of file remote_gdb.hh.

Member Function Documentation

◆ acc()

virtual bool gem5::BaseRemoteGDB::acc ( Addr addr,
size_t len )
protectedpure virtual

◆ availableFeatures()

std::vector< std::string > gem5::BaseRemoteGDB::availableFeatures ( ) const
protectedvirtual

◆ breakpoint()

bool gem5::BaseRemoteGDB::breakpoint ( )
inline

Definition at line 53 of file remote_gdb.hh.

◆ build()

◆ checkBpKind()

bool gem5::BaseRemoteGDB::checkBpKind ( size_t kind)
protectedvirtual

◆ clearSingleStep()

void gem5::BaseRemoteGDB::clearSingleStep ( )
protected

Definition at line 887 of file remote_gdb.cc.

References descheduleInstCommitEvent(), and singleStepEvent.

Referenced by cmdAsyncCont(), cmdCont(), detach(), and trap().

◆ cmdAsyncCont()

bool gem5::BaseRemoteGDB::cmdAsyncCont ( GdbCommand::Context & ctx)
protected

◆ cmdAsyncStep()

bool gem5::BaseRemoteGDB::cmdAsyncStep ( GdbCommand::Context & ctx)
protected

◆ cmdClrHwBkpt()

bool gem5::BaseRemoteGDB::cmdClrHwBkpt ( GdbCommand::Context & ctx)
protected

◆ cmdCont()

◆ cmdDetach()

bool gem5::BaseRemoteGDB::cmdDetach ( GdbCommand::Context & ctx)
protected

Definition at line 1115 of file remote_gdb.cc.

References detach().

◆ cmdDumpPageTable()

bool gem5::BaseRemoteGDB::cmdDumpPageTable ( GdbCommand::Context & ctx)
protected

◆ cmdIsThreadAlive()

bool gem5::BaseRemoteGDB::cmdIsThreadAlive ( GdbCommand::Context & ctx)
protected

◆ cmdMemR()

bool gem5::BaseRemoteGDB::cmdMemR ( GdbCommand::Context & ctx)
protected

◆ cmdMemW()

◆ cmdMultiLetter()

◆ cmdMultiUnsupported()

◆ cmdQueryVar()

◆ cmdRegR()

bool gem5::BaseRemoteGDB::cmdRegR ( GdbCommand::Context & ctx)
protected

◆ cmdRegW()

◆ cmdReplyEmpty()

bool gem5::BaseRemoteGDB::cmdReplyEmpty ( GdbMultiLetterCommand::Context & ctx)
protected

Definition at line 1287 of file remote_gdb.cc.

References send().

◆ cmdSetHwBkpt()

bool gem5::BaseRemoteGDB::cmdSetHwBkpt ( GdbCommand::Context & ctx)
protected

◆ cmdSetThread()

◆ cmdSignal()

bool gem5::BaseRemoteGDB::cmdSignal ( GdbCommand::Context & ctx)
protected

◆ cmdStep()

◆ cmdUnsupported()

◆ cmdVKill()

bool gem5::BaseRemoteGDB::cmdVKill ( GdbMultiLetterCommand::Context & ctx)
protected

Definition at line 1294 of file remote_gdb.cc.

References detach(), and warn.

◆ context()

◆ descheduleInstCommitEvent()

void gem5::BaseRemoteGDB::descheduleInstCommitEvent ( Event * ev)
protected

Deschedule an instruction count based event.

Definition at line 1000 of file remote_gdb.cc.

References gem5::ThreadContext::descheduleInstCountEvent(), gem5::Event::scheduled(), and tc.

Referenced by clearSingleStep(), and incomingData().

◆ encodeBinaryData()

void gem5::BaseRemoteGDB::encodeBinaryData ( const std::string & unencoded,
std::string & encoded ) const
protected

Definition at line 1522 of file remote_gdb.cc.

References gem5::ArmISA::c.

Referenced by encodeXferResponse().

◆ encodeXferResponse()

void gem5::BaseRemoteGDB::encodeXferResponse ( const std::string & unencoded,
std::string & encoded,
size_t offset,
size_t unencoded_length ) const
protected

Definition at line 1536 of file remote_gdb.cc.

References encodeBinaryData(), and gem5::ArmISA::offset.

Referenced by queryXfer().

◆ gdbRegs()

◆ getbyte()

uint8_t gem5::BaseRemoteGDB::getbyte ( )
protected

Definition at line 622 of file remote_gdb.cc.

References gem5::ArmISA::b, and try_getbyte().

Referenced by recv(), and send().

◆ getXferFeaturesRead()

bool gem5::BaseRemoteGDB::getXferFeaturesRead ( const std::string & annex,
std::string & output )
protectedvirtual

Get an XML target description.

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

Reimplemented in gem5::ArmISA::RemoteGDB, gem5::MipsISA::RemoteGDB, gem5::PowerISA::RemoteGDB, and gem5::RiscvISA::RemoteGDB.

Definition at line 1515 of file remote_gdb.cc.

Referenced by queryXfer().

◆ incomingConnection()

void gem5::BaseRemoteGDB::incomingConnection ( int revent)
protected

Definition at line 593 of file remote_gdb.cc.

References connectEvent, gem5::Event::scheduled(), scheduleInstCommitEvent(), and warn.

◆ incomingData()

void gem5::BaseRemoteGDB::incomingData ( int revent)
protected

◆ insertHardBreak()

void gem5::BaseRemoteGDB::insertHardBreak ( Addr addr,
size_t kind )
protected

◆ insertSoftBreak()

void gem5::BaseRemoteGDB::insertSoftBreak ( Addr addr,
size_t kind )
protected

Definition at line 900 of file remote_gdb.cc.

References gem5::X86ISA::addr, checkBpKind(), and insertHardBreak().

Referenced by cmdSetHwBkpt().

◆ processCommands()

◆ putbyte()

void gem5::BaseRemoteGDB::putbyte ( uint8_t b)
protected

Definition at line 674 of file remote_gdb.cc.

References gem5::ArmISA::b, fd, and write().

Referenced by recv(), and send().

◆ queryAttached()

bool gem5::BaseRemoteGDB::queryAttached ( QuerySetCommand::Context & ctx)
protected

◆ queryC()

bool gem5::BaseRemoteGDB::queryC ( QuerySetCommand::Context & ctx)
protected

Definition at line 1338 of file remote_gdb.cc.

References gem5::ThreadContext::contextId(), send(), and tc.

◆ queryFThreadInfo()

bool gem5::BaseRemoteGDB::queryFThreadInfo ( QuerySetCommand::Context & ctx)
protected

Definition at line 1453 of file remote_gdb.cc.

References querySThreadInfo(), and threadInfoIdx.

◆ queryRcmd()

bool gem5::BaseRemoteGDB::queryRcmd ( QuerySetCommand::Context & ctx)
protected

◆ querySThreadInfo()

bool gem5::BaseRemoteGDB::querySThreadInfo ( QuerySetCommand::Context & ctx)
protected

Definition at line 1461 of file remote_gdb.cc.

References send(), threadInfoIdx, and threads.

Referenced by queryFThreadInfo().

◆ querySupported()

bool gem5::BaseRemoteGDB::querySupported ( QuerySetCommand::Context & ctx)
protected

Definition at line 1345 of file remote_gdb.cc.

References availableFeatures(), and send().

◆ querySymbol()

bool gem5::BaseRemoteGDB::querySymbol ( QuerySetCommand::Context & ctx)
protected

Definition at line 1400 of file remote_gdb.cc.

References send().

◆ queryXfer()

bool gem5::BaseRemoteGDB::queryXfer ( QuerySetCommand::Context & ctx)
protected

◆ read() [1/2]

template<class T >
T gem5::BaseRemoteGDB::read ( Addr addr)
inlineprotected

Definition at line 476 of file remote_gdb.hh.

References gem5::X86ISA::addr, and read().

◆ read() [2/2]

bool gem5::BaseRemoteGDB::read ( Addr vaddr,
size_t size,
char * data )
protected

Definition at line 839 of file remote_gdb.cc.

References data, DPRINTF, DPRINTFNR, readBlob(), and gem5::MipsISA::vaddr.

Referenced by cmdMemR(), read(), and try_getbyte().

◆ readBlob()

bool gem5::BaseRemoteGDB::readBlob ( Addr vaddr,
size_t size,
char * data )
protectedvirtual

Reimplemented in gem5::fastmodel::FastmodelRemoteGDB.

Definition at line 816 of file remote_gdb.cc.

References data, gem5::FullSystem, gem5::PortProxy::readBlob(), tc, and gem5::MipsISA::vaddr.

Referenced by read().

◆ recv()

void gem5::BaseRemoteGDB::recv ( std::vector< char > & bp)
protected

◆ removeHardBreak()

void gem5::BaseRemoteGDB::removeHardBreak ( Addr addr,
size_t kind )
protected

◆ removeSoftBreak()

void gem5::BaseRemoteGDB::removeSoftBreak ( Addr addr,
size_t kind )
protected

Definition at line 909 of file remote_gdb.cc.

References gem5::X86ISA::addr, checkBpKind(), and removeHardBreak().

Referenced by cmdClrHwBkpt().

◆ replaceThreadContext()

void gem5::BaseRemoteGDB::replaceThreadContext ( ThreadContext * tc)
inline

Definition at line 54 of file remote_gdb.hh.

Referenced by gem5::Workload::replaceThreadContext().

◆ scheduleInstCommitEvent() [1/2]

void gem5::BaseRemoteGDB::scheduleInstCommitEvent ( Event * ev,
int delta )
inlineprotected

Definition at line 317 of file remote_gdb.hh.

References scheduleInstCommitEvent(), and tc.

◆ scheduleInstCommitEvent() [2/2]

void gem5::BaseRemoteGDB::scheduleInstCommitEvent ( Event * ev,
int delta,
ThreadContext * _tc )
protected

◆ send() [1/3]

◆ send() [2/3]

template<typename ... Args>
void gem5::BaseRemoteGDB::send ( const char * format,
const Args &... args )
inlineprotected

Definition at line 250 of file remote_gdb.hh.

References gem5::csprintf(), gem5::ArmISA::format, and send().

◆ send() [3/3]

void gem5::BaseRemoteGDB::send ( const std::string & data)
inlineprotected

Definition at line 246 of file remote_gdb.hh.

References data, and send().

Referenced by send().

◆ sendOPacket()

void gem5::BaseRemoteGDB::sendOPacket ( const std::string message)
protected

Definition at line 968 of file remote_gdb.cc.

References send().

Referenced by sendMessage().

◆ sendSPacket()

void gem5::BaseRemoteGDB::sendSPacket ( GDBSignal sig)
protected

Definition at line 964 of file remote_gdb.cc.

References send().

◆ sendTPacket()

void gem5::BaseRemoteGDB::sendTPacket ( GDBSignal sig,
ContextID id,
const std::string & stopReason )
protected

Definition at line 952 of file remote_gdb.cc.

References send().

Referenced by cmdSignal(), and trap().

◆ setSingleStep()

void gem5::BaseRemoteGDB::setSingleStep ( )
protected

Definition at line 893 of file remote_gdb.cc.

References gem5::Event::scheduled(), scheduleInstCommitEvent(), and singleStepEvent.

Referenced by cmdAsyncStep(), and cmdStep().

◆ singleStep()

void gem5::BaseRemoteGDB::singleStep ( )
protected

◆ system()

System * gem5::BaseRemoteGDB::system ( )
inlineprotected

Definition at line 444 of file remote_gdb.hh.

References sys.

◆ trap()

bool gem5::BaseRemoteGDB::trap ( ContextID id,
int type )
inline

◆ try_getbyte()

bool gem5::BaseRemoteGDB::try_getbyte ( uint8_t * c,
int timeout = -1 )
protected

Definition at line 630 of file remote_gdb.cc.

References gem5::ArmISA::c, DPRINTF, fd, panic, and read().

Referenced by getbyte(), and send().

◆ write() [1/2]

template<class T >
void gem5::BaseRemoteGDB::write ( Addr addr,
T data )
inlineprotected

Definition at line 485 of file remote_gdb.hh.

References gem5::X86ISA::addr, data, and write().

◆ write() [2/2]

bool gem5::BaseRemoteGDB::write ( Addr vaddr,
size_t size,
const char * data )
protected

Definition at line 864 of file remote_gdb.cc.

References data, DPRINTFN, DPRINTFNR, gem5::MipsISA::vaddr, and writeBlob().

Referenced by cmdMemW(), putbyte(), and write().

◆ writeBlob()

bool gem5::BaseRemoteGDB::writeBlob ( Addr vaddr,
size_t size,
const char * data )
protectedvirtual

Reimplemented in gem5::fastmodel::FastmodelRemoteGDB.

Definition at line 827 of file remote_gdb.cc.

References data, gem5::FullSystem, tc, gem5::MipsISA::vaddr, and gem5::PortProxy::writeBlob().

Referenced by write().

Friends And Related Symbol Documentation

◆ HardBreakpoint

friend class HardBreakpoint
friend

Definition at line 145 of file remote_gdb.hh.

Referenced by insertHardBreak().

Member Data Documentation

◆ attached

bool gem5::BaseRemoteGDB::attached = false
protected

Definition at line 266 of file remote_gdb.hh.

Referenced by attach(), detach(), isAttached(), sendMessage(), and trap().

◆ commandMap

std::map< char, BaseRemoteGDB::GdbCommand > gem5::BaseRemoteGDB::commandMap
staticprotected

Definition at line 357 of file remote_gdb.hh.

Referenced by processCommands().

◆ connectEvent

MemberEventWrapper<&BaseRemoteGDB::connect> gem5::BaseRemoteGDB::connectEvent
protected

Definition at line 276 of file remote_gdb.hh.

Referenced by incomingConnection().

◆ disconnectEvent

MemberEventWrapper<&BaseRemoteGDB::detach> gem5::BaseRemoteGDB::disconnectEvent
protected

Definition at line 277 of file remote_gdb.hh.

Referenced by incomingData().

◆ fd

int gem5::BaseRemoteGDB::fd
protected

Definition at line 237 of file remote_gdb.hh.

Referenced by attach(), detach(), putbyte(), and try_getbyte().

◆ IncomingConnectionEvent

Definition at line 228 of file remote_gdb.hh.

◆ incomingConnectionEvent

IncomingConnectionEvent* gem5::BaseRemoteGDB::incomingConnectionEvent
protected

Definition at line 231 of file remote_gdb.hh.

Referenced by connect(), detach(), and listen().

◆ IncomingDataEvent

Definition at line 229 of file remote_gdb.hh.

◆ incomingDataEvent

IncomingDataEvent* gem5::BaseRemoteGDB::incomingDataEvent
protected

Definition at line 232 of file remote_gdb.hh.

Referenced by attach(), and detach().

◆ listener

ListenSocketPtr gem5::BaseRemoteGDB::listener
protected

Definition at line 234 of file remote_gdb.hh.

Referenced by addThreadContext(), BaseRemoteGDB(), connect(), hostSocket(), and listen().

◆ multiLetterMap

std::map< std::string, BaseRemoteGDB::GdbMultiLetterCommand > gem5::BaseRemoteGDB::multiLetterMap
staticprotected
Initial value:
= {
{ "MustReplyEmpty", { "KGDB_REPLY_EMPTY", &BaseRemoteGDB::cmdReplyEmpty}},
{ "Kill", { "KGDB_VKILL", &BaseRemoteGDB::cmdVKill}},
}
bool cmdReplyEmpty(GdbMultiLetterCommand::Context &ctx)
bool cmdVKill(GdbMultiLetterCommand::Context &ctx)

Definition at line 381 of file remote_gdb.hh.

Referenced by cmdMultiLetter().

◆ queryMap

std::map< std::string, BaseRemoteGDB::QuerySetCommand > gem5::BaseRemoteGDB::queryMap
staticprotected
Initial value:
= {
{ "C", { &BaseRemoteGDB::queryC } },
{ "Rcmd", { &BaseRemoteGDB::queryRcmd} },
{ "Attached", { &BaseRemoteGDB::queryAttached} },
{ "Supported", { &BaseRemoteGDB::querySupported, ";" } },
{ "Xfer", { &BaseRemoteGDB::queryXfer } },
{ "Symbol", { &BaseRemoteGDB::querySymbol ,":" } },
{ "fThreadInfo", { &BaseRemoteGDB::queryFThreadInfo } },
{ "sThreadInfo", { &BaseRemoteGDB::querySThreadInfo } },
}
bool queryAttached(QuerySetCommand::Context &ctx)
bool querySupported(QuerySetCommand::Context &ctx)
bool queryRcmd(QuerySetCommand::Context &ctx)
bool querySThreadInfo(QuerySetCommand::Context &ctx)
bool queryXfer(QuerySetCommand::Context &ctx)
bool querySymbol(QuerySetCommand::Context &ctx)
bool queryFThreadInfo(QuerySetCommand::Context &ctx)
bool queryC(QuerySetCommand::Context &ctx)

Definition at line 429 of file remote_gdb.hh.

Referenced by cmdQueryVar().

◆ regCachePtr

BaseGdbRegCache* gem5::BaseRemoteGDB::regCachePtr = nullptr
protected

Definition at line 274 of file remote_gdb.hh.

Referenced by cmdRegR(), cmdRegW(), processCommands(), and selectThreadContext().

◆ singleStepEvent

MemberEventWrapper<&BaseRemoteGDB::singleStep> gem5::BaseRemoteGDB::singleStepEvent
protected

Definition at line 310 of file remote_gdb.hh.

Referenced by clearSingleStep(), setSingleStep(), singleStep(), and trap().

◆ sys

System* gem5::BaseRemoteGDB::sys
protected

Definition at line 269 of file remote_gdb.hh.

Referenced by insertHardBreak(), name(), and system().

◆ tc

◆ threadInfoIdx

size_t gem5::BaseRemoteGDB::threadInfoIdx = 0
protected

Definition at line 438 of file remote_gdb.hh.

Referenced by queryFThreadInfo(), and querySThreadInfo().

◆ threads

std::map<ContextID, ThreadContext *> gem5::BaseRemoteGDB::threads
protected

◆ threadSwitching

bool gem5::BaseRemoteGDB::threadSwitching = false
protected

Definition at line 267 of file remote_gdb.hh.

Referenced by cmdSetThread(), and trap().

◆ trapEvent

gem5::BaseRemoteGDB::TrapEvent gem5::BaseRemoteGDB::trapEvent
protected

Referenced by incomingData(), and scheduleTrapEvent().


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

Generated on Tue Jun 18 2024 16:24:10 for gem5 by doxygen 1.11.0