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 { | |
uint32_t eax | |
uint32_t ecx | |
uint32_t edx | |
uint32_t ebx | |
uint32_t esp | |
uint32_t ebp | |
uint32_t esi | |
uint32_t edi | |
uint32_t eip | |
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 61 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 84 of file remote_gdb.hh.
References r.
|
virtual |
Fill the raw buffer from the registers in the ThreadContext.
Implements BaseRemoteGDB::BaseGdbRegCache.
Definition at line 138 of file remote_gdb.cc.
References DPRINTF, 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::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 89 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 196 of file remote_gdb.cc.
References DPRINTF, 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 85 of file remote_gdb.hh.
References r.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::cs |
Definition at line 76 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::ds |
Definition at line 78 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::eax |
Definition at line 66 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::ebp |
Definition at line 71 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::ebx |
Definition at line 69 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::ecx |
Definition at line 67 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::edi |
Definition at line 73 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::edx |
Definition at line 68 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::eflags |
Definition at line 75 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::eip |
Definition at line 74 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::es |
Definition at line 79 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::esi |
Definition at line 72 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::esp |
Definition at line 70 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::fs |
Definition at line 80 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::gs |
Definition at line 81 of file remote_gdb.hh.
uint32_t X86ISA::RemoteGDB::X86GdbRegCache::ss |
Definition at line 77 of file remote_gdb.hh.