gem5  v19.0.0.0
Public Member Functions | Private Attributes | List of all members
AlphaISA::RemoteGDB::AlphaGdbRegCache Class Reference

#include <remote_gdb.hh>

Inheritance diagram for AlphaISA::RemoteGDB::AlphaGdbRegCache:
BaseGdbRegCache

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 Attributes

struct {
   uint64_t   gpr [32]
 
   uint64_t   fpr [32]
 
   uint64_t   pc
 
   uint64_t   vfp
 
r
 

Additional Inherited Members

- Protected Attributes inherited from BaseGdbRegCache
BaseRemoteGDBgdb
 

Detailed Description

Definition at line 55 of file remote_gdb.hh.

Member Function Documentation

◆ data()

char* AlphaISA::RemoteGDB::AlphaGdbRegCache::data ( ) const
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.

◆ getRegs()

void RemoteGDB::AlphaGdbRegCache::getRegs ( ThreadContext )
virtual

Fill the raw buffer from the registers in the ThreadContext.

Implements BaseGdbRegCache.

Definition at line 207 of file remote_gdb.cc.

References DPRINTF, ArmISA::i, AlphaISA::PcPAL(), ThreadContext::pcState(), MipsISA::r, ThreadContext::readFloatReg(), ThreadContext::readIntReg(), and AlphaISA::reg_redir.

Referenced by size().

◆ name()

const std::string AlphaISA::RemoteGDB::AlphaGdbRegCache::name ( ) const
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 BaseRemoteGDB::_port, BaseRemoteGDB::context(), BaseGdbRegCache::gdb, AlphaISA::RemoteGDB::gdbRegs(), BaseRemoteGDB::name(), AlphaISA::RemoteGDB::RemoteGDB(), and BaseRemoteGDB::system().

◆ setRegs()

void RemoteGDB::AlphaGdbRegCache::setRegs ( ThreadContext ) const
virtual

Set the ThreadContext's registers from the values in the raw buffer.

Implements BaseGdbRegCache.

Definition at line 230 of file remote_gdb.cc.

References DPRINTF, ArmISA::i, AlphaISA::NumFloatArchRegs, AlphaISA::PcPAL(), ThreadContext::pcState(), MipsISA::r, AlphaISA::reg_redir, ThreadContext::setFloatReg(), and ThreadContext::setIntReg().

Referenced by size().

◆ size()

size_t AlphaISA::RemoteGDB::AlphaGdbRegCache::size ( ) const
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 getRegs(), r, and setRegs().

Member Data Documentation

◆ fpr

uint64_t AlphaISA::RemoteGDB::AlphaGdbRegCache::fpr[32]

Definition at line 61 of file remote_gdb.hh.

◆ gpr

uint64_t AlphaISA::RemoteGDB::AlphaGdbRegCache::gpr[32]

Definition at line 60 of file remote_gdb.hh.

◆ pc

uint64_t AlphaISA::RemoteGDB::AlphaGdbRegCache::pc

Definition at line 62 of file remote_gdb.hh.

◆ r

struct { ... } AlphaISA::RemoteGDB::AlphaGdbRegCache::r

Referenced by data(), and size().

◆ vfp

uint64_t AlphaISA::RemoteGDB::AlphaGdbRegCache::vfp

Definition at line 63 of file remote_gdb.hh.


The documentation for this class was generated from the following files:

Generated on Fri Feb 28 2020 16:27:18 for gem5 by doxygen 1.8.13