gem5
|
#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 BaseRemoteGDB::BaseGdbRegCache | |
BaseGdbRegCache (BaseRemoteGDB *g) | |
virtual | ~BaseGdbRegCache () |
Private Attributes | |
struct { | |
uint64_t gpr [32] | |
uint64_t fpr [32] | |
uint64_t pc | |
uint64_t npc | |
uint64_t state | |
uint64_t fsr | |
uint64_t fprs | |
uint64_t y | |
} | r |
Additional Inherited Members | |
Protected Attributes inherited from BaseRemoteGDB::BaseGdbRegCache | |
BaseRemoteGDB * | gdb |
Definition at line 75 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 BaseRemoteGDB::BaseGdbRegCache.
Definition at line 90 of file remote_gdb.hh.
References r.
|
virtual |
Fill the raw buffer from the registers in the ThreadContext.
Implements BaseRemoteGDB::BaseGdbRegCache.
Definition at line 195 of file remote_gdb.cc.
References DPRINTF, htobe(), ArmISA::i, SparcISA::MISCREG_ASI, SparcISA::MISCREG_CWP, SparcISA::MISCREG_FPRS, SparcISA::MISCREG_FSR, SparcISA::MISCREG_PSTATE, SparcISA::NumIntArchRegs, pc, ThreadContext::pcState(), MipsISA::r, ThreadContext::readIntReg(), and ThreadContext::readMiscReg().
|
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 BaseRemoteGDB::BaseGdbRegCache.
Definition at line 94 of file remote_gdb.hh.
References BaseRemoteGDB::BaseGdbRegCache::gdb, and BaseRemoteGDB::name().
|
virtual |
Set the ThreadContext's registers from the values in the raw buffer.
Implements BaseRemoteGDB::BaseGdbRegCache.
Definition at line 231 of file remote_gdb.cc.
References ArmISA::i, GenericISA::DelaySlotPCState< MachInst >::nnpc(), GenericISA::SimplePCState< MachInst >::npc(), GenericISA::DelaySlotUPCState< MachInst >::nupc(), pc, GenericISA::SimplePCState< MachInst >::pc(), ThreadContext::pcState(), MipsISA::r, ThreadContext::setIntReg(), and GenericISA::DelaySlotUPCState< MachInst >::upc().
|
inlinevirtual |
Return the size of the raw buffer, in bytes (i.e., half of the number of digits in the g/G packet).
Implements BaseRemoteGDB::BaseGdbRegCache.
Definition at line 91 of file remote_gdb.hh.
References r.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::fpr[32] |
Definition at line 81 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::fprs |
Definition at line 86 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::fsr |
Definition at line 85 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::gpr[32] |
Definition at line 80 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::npc |
Definition at line 83 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::pc |
Definition at line 82 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::state |
Definition at line 84 of file remote_gdb.hh.
uint64_t SparcISA::RemoteGDB::SPARC64GdbRegCache::y |
Definition at line 87 of file remote_gdb.hh.