gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Protected Member Functions | List of all members
AlphaISA::RemoteGDB Class Reference

#include <remote_gdb.hh>

Inheritance diagram for AlphaISA::RemoteGDB:
BaseRemoteGDB

Classes

class  AlphaGdbRegCache
 

Public Member Functions

 RemoteGDB (System *system, ThreadContext *context, int _port)
 
BaseGdbRegCachegdbRegs () override
 
- Public Member Functions inherited from BaseRemoteGDB
bool breakpoint ()
 
void replaceThreadContext (ThreadContext *tc)
 
virtual ~BaseRemoteGDB ()
 
 BaseRemoteGDB (System *system, ThreadContext *context, int _port)
 
virtual ~BaseRemoteGDB ()
 
std::string name ()
 
void listen ()
 
void connect ()
 
int port () const
 
void attach (int fd)
 
void detach ()
 
bool isAttached ()
 
void replaceThreadContext (ThreadContext *_tc)
 
bool trap (int type)
 
bool breakpoint ()
 

Protected Member Functions

bool acc (Addr addr, size_t len) override
 
- Protected Member Functions inherited from BaseRemoteGDB
ThreadContextcontext ()
 
Systemsystem ()
 
void encodeBinaryData (const std::string &unencoded, std::string &encoded) const
 
void encodeXferResponse (const std::string &unencoded, std::string &encoded, size_t offset, size_t unencoded_length) const
 
virtual bool checkBpLen (size_t len)
 
virtual std::vector< std::string > availableFeatures () const
 
virtual bool getXferFeaturesRead (const std::string &annex, std::string &output)
 Get an XML target description. More...
 

Detailed Description

Definition at line 49 of file remote_gdb.hh.

Constructor & Destructor Documentation

◆ RemoteGDB()

RemoteGDB::RemoteGDB ( System system,
ThreadContext context,
int  _port 
)

Definition at line 147 of file remote_gdb.cc.

References warn_once.

Referenced by AlphaISA::RemoteGDB::AlphaGdbRegCache::name().

Member Function Documentation

◆ acc()

bool RemoteGDB::acc ( Addr  addr,
size_t  len 
)
overrideprotectedvirtual

This code says that all accesses to palcode (instruction and data) are valid since there isn't a va->pa mapping because palcode is accessed physically. At some point this should probably be cleaned up but there is no easy way to do it.

Implements BaseRemoteGDB.

Definition at line 158 of file remote_gdb.cc.

References BaseRemoteGDB::context(), DPRINTF, FullSystem, AlphaISA::IPR_PALtemp20, AlphaISA::IsK0Seg(), AlphaISA::K0SegBase, AlphaISA::kernel_pte_lookup(), AlphaISA::PageBytes, panic, AlphaISA::PcPAL(), ThreadContext::readMiscRegNoEffect(), AlphaISA::RoundPage(), BaseRemoteGDB::system(), AlphaISA::TruncPage(), and AlphaISA::PageTableEntry::valid().

◆ gdbRegs()

BaseGdbRegCache * RemoteGDB::gdbRegs ( )
overridevirtual

Implements BaseRemoteGDB.

Definition at line 254 of file remote_gdb.cc.

Referenced by AlphaISA::RemoteGDB::AlphaGdbRegCache::name().


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