gem5
v20.1.0.0
|
#include <remote_gdb.hh>
Public Member Functions | |
char * | data () const |
Return the pointer to the raw bytes buffer containing the register values. More... | |
size_t | size () const |
Return the size of the raw buffer, in bytes (i.e., half of the number of digits in the g/G packet). More... | |
void | getRegs (ThreadContext *) |
Fill the raw buffer from the registers in the ThreadContext. More... | |
void | setRegs (ThreadContext *) const |
Set the ThreadContext's registers from the values in the raw buffer. More... | |
const std::string | name () const |
Return the name to use in places like DPRINTF. More... | |
Public Member Functions inherited from BaseGdbRegCache | |
BaseGdbRegCache (BaseRemoteGDB *g) | |
virtual | ~BaseGdbRegCache () |
Private Member Functions | |
BaseGdbRegCache (BaseRemoteGDB *g) | |
Private Attributes | |
struct { | |
uint32_t gpr [32] | |
uint32_t sr | |
uint32_t lo | |
uint32_t hi | |
uint32_t badvaddr | |
uint32_t cause | |
uint32_t pc | |
uint32_t fpr [32] | |
uint32_t fsr | |
uint32_t fir | |
} | r |
Additional Inherited Members | |
Protected Attributes inherited from BaseGdbRegCache | |
BaseRemoteGDB * | gdb |
Definition at line 49 of file remote_gdb.hh.
|
inlineprivate |
Definition at line 119 of file remote_gdb.hh.
|
inlinevirtual |
Return the pointer to the raw bytes buffer containing the register values.
Each byte of this buffer is literally encoded as two hex digits in the g or G RSP packet.
Implements BaseGdbRegCache.
Definition at line 66 of file remote_gdb.hh.
References r.
|
virtual |
Fill the raw buffer from the registers in the ThreadContext.
Implements BaseGdbRegCache.
Definition at line 167 of file remote_gdb.cc.
References BaseRemoteGDB::context(), DPRINTF, MipsISA::FLOATREG_FCCR, MipsISA::FLOATREG_FIR, MipsISA::i, MipsISA::INTREG_HI, MipsISA::INTREG_LO, MipsISA::MISCREG_BADVADDR, MipsISA::MISCREG_CAUSE, MipsISA::MISCREG_STATUS, ThreadContext::pcState(), r, ThreadContext::readFloatReg(), ThreadContext::readIntReg(), and ThreadContext::readMiscRegNoEffect().
|
inlinevirtual |
Return the name to use in places like DPRINTF.
Having each concrete superclass redefine this member is useful in situations where the class of the regCache can change on the fly.
Implements BaseGdbRegCache.
Definition at line 71 of file remote_gdb.hh.
References BaseGdbRegCache::gdb, and BaseRemoteGDB::name().
|
virtual |
Set the ThreadContext's registers from the values in the raw buffer.
Implements BaseGdbRegCache.
Definition at line 184 of file remote_gdb.cc.
References BaseRemoteGDB::context(), DPRINTF, MipsISA::FLOATREG_FCCR, MipsISA::FLOATREG_FIR, MipsISA::i, MipsISA::INTREG_HI, MipsISA::INTREG_LO, MipsISA::MISCREG_BADVADDR, MipsISA::MISCREG_CAUSE, MipsISA::MISCREG_STATUS, ThreadContext::pcState(), MipsISA::r, ThreadContext::setFloatReg(), ThreadContext::setIntReg(), and ThreadContext::setMiscRegNoEffect().
|
inlinevirtual |
Return the size of the raw buffer, in bytes (i.e., half of the number of digits in the g/G packet).
Implements BaseGdbRegCache.
Definition at line 67 of file remote_gdb.hh.
References r.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::badvaddr |
Definition at line 58 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::cause |
Definition at line 59 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::fir |
Definition at line 63 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::fpr[32] |
Definition at line 61 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::fsr |
Definition at line 62 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::gpr[32] |
Definition at line 54 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::hi |
Definition at line 57 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::lo |
Definition at line 56 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::pc |
Definition at line 60 of file remote_gdb.hh.
uint32_t MipsISA::RemoteGDB::MipsGdbRegCache::sr |
Definition at line 55 of file remote_gdb.hh.