gem5 v24.0.0.0
|
#include <remote_gdb.hh>
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) | |
BaseGdbRegCache * | gdbRegs () 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 ListenSocket & | hostSocket () 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 |
BaseGdbRegCache * | gdbRegs () 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 > | |
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) |
ThreadContext * | context () |
System * | system () |
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 |
IncomingConnectionEvent * | incomingConnectionEvent |
IncomingDataEvent * | incomingDataEvent |
ListenSocketPtr | listener |
int | fd |
bool | attached = false |
bool | threadSwitching = false |
System * | sys |
std::map< ContextID, ThreadContext * > | threads |
ThreadContext * | tc = nullptr |
BaseGdbRegCache * | regCachePtr = nullptr |
MemberEventWrapper<&BaseRemoteGDB::connect > | connectEvent |
MemberEventWrapper<&BaseRemoteGDB::detach > | disconnectEvent |
gem5::BaseRemoteGDB::TrapEvent | trapEvent |
MemberEventWrapper<&BaseRemoteGDB::singleStep > | singleStepEvent |
size_t | threadInfoIdx = 0 |
Additional Inherited Members | |
Static Public Member Functions inherited from gem5::BaseRemoteGDB | |
template<class GDBStub , class ... Args> | |
static BaseRemoteGDB * | build (ListenSocketConfig listen_config, Args... args) |
Protected Types inherited from gem5::BaseRemoteGDB | |
typedef SocketEvent<&BaseRemoteGDB::incomingConnection > | IncomingConnectionEvent |
typedef SocketEvent<&BaseRemoteGDB::incomingData > | IncomingDataEvent |
Static Protected Attributes inherited from gem5::BaseRemoteGDB | |
static std::map< char, GdbCommand > | commandMap |
static std::map< std::string, GdbMultiLetterCommand > | multiLetterMap |
static std::map< std::string, QuerySetCommand > | queryMap |
Definition at line 39 of file remote_gdb.hh.
gem5::fastmodel::FastmodelRemoteGDB::FastmodelRemoteGDB | ( | System * | _system, |
ListenSocketConfig | _listen_config ) |
Definition at line 64 of file remote_gdb.cc.
|
overrideprotectedvirtual |
Implements gem5::BaseRemoteGDB.
Definition at line 91 of file remote_gdb.cc.
References gem5::BaseRemoteGDB::context(), gem5::ArmISA::inAArch64(), gem5::ArmISA::RemoteGDB::regCache32, and regCache64.
|
overrideprotectedvirtual |
Reimplemented from gem5::BaseRemoteGDB.
Definition at line 71 of file remote_gdb.cc.
References gem5::BaseRemoteGDB::context(), data, panic_if, gem5::BaseRemoteGDB::tc, and gem5::MipsISA::vaddr.
|
overrideprotectedvirtual |
Reimplemented from gem5::BaseRemoteGDB.
Definition at line 81 of file remote_gdb.cc.
References gem5::BaseRemoteGDB::context(), data, panic_if, gem5::BaseRemoteGDB::tc, and gem5::MipsISA::vaddr.
|
protected |
Definition at line 56 of file remote_gdb.hh.
Referenced by gdbRegs().