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 rax | |
uint64_t rbx | |
uint64_t rcx | |
uint64_t rdx | |
uint64_t rsi | |
uint64_t rdi | |
uint64_t rbp | |
uint64_t rsp | |
uint64_t r8 | |
uint64_t r9 | |
uint64_t r10 | |
uint64_t r11 | |
uint64_t r12 | |
uint64_t r13 | |
uint64_t r14 | |
uint64_t r15 | |
uint64_t rip | |
uint32_t eflags | |
uint32_t cs | |
uint32_t ss | |
uint32_t ds | |
uint32_t es | |
uint32_t fs | |
uint32_t gs | |
} | r |
Additional Inherited Members | |
Protected Attributes inherited from BaseRemoteGDB::BaseGdbRegCache | |
BaseRemoteGDB * | gdb |
Definition at line 95 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 131 of file remote_gdb.hh.
References r.
|
virtual |
Fill the raw buffer from the registers in the ThreadContext.
Implements BaseRemoteGDB::BaseGdbRegCache.
Definition at line 108 of file remote_gdb.cc.
References DPRINTF, ArmISA::INTREG_R10, ArmISA::INTREG_R11, ArmISA::INTREG_R12, ArmISA::INTREG_R13, ArmISA::INTREG_R14, ArmISA::INTREG_R15, ArmISA::INTREG_R8, ArmISA::INTREG_R9, X86ISA::MISCREG_CS, X86ISA::MISCREG_DS, X86ISA::MISCREG_ES, X86ISA::MISCREG_FS, X86ISA::MISCREG_GS, X86ISA::MISCREG_RFLAGS, X86ISA::MISCREG_SS, ThreadContext::pcState(), r, 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 BaseRemoteGDB::BaseGdbRegCache.
Definition at line 136 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 160 of file remote_gdb.cc.
References DPRINTF, ArmISA::INTREG_R10, ArmISA::INTREG_R11, ArmISA::INTREG_R12, ArmISA::INTREG_R13, ArmISA::INTREG_R14, ArmISA::INTREG_R15, ArmISA::INTREG_R8, ArmISA::INTREG_R9, X86ISA::MISCREG_CS, X86ISA::MISCREG_DS, X86ISA::MISCREG_ES, X86ISA::MISCREG_FS, X86ISA::MISCREG_GS, X86ISA::MISCREG_RFLAGS, X86ISA::MISCREG_SS, ThreadContext::pcState(), X86ISA::r, ThreadContext::readMiscRegNoEffect(), ThreadContext::setIntReg(), ThreadContext::setMiscReg(), and warn.
|
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 132 of file remote_gdb.hh.
References r.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::cs |
Definition at line 118 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::ds |
Definition at line 120 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::eflags |
Definition at line 117 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::es |
Definition at line 121 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::fs |
Definition at line 122 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::gs |
Definition at line 123 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r10 |
Definition at line 110 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r11 |
Definition at line 111 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r12 |
Definition at line 112 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r13 |
Definition at line 113 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r14 |
Definition at line 114 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r15 |
Definition at line 115 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r8 |
Definition at line 108 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::r9 |
Definition at line 109 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rax |
Definition at line 100 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rbp |
Definition at line 106 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rbx |
Definition at line 101 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rcx |
Definition at line 102 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rdi |
Definition at line 105 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rdx |
Definition at line 103 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rip |
Definition at line 116 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rsi |
Definition at line 104 of file remote_gdb.hh.
uint64_t X86ISA::RemoteGDB::AMD64GdbRegCache::rsp |
Definition at line 107 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::AMD64GdbRegCache::ss |
Definition at line 119 of file remote_gdb.hh.