diff options
author | Gabe Black <gabeblack@google.com> | 2018-01-16 01:25:39 -0800 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-01-20 07:28:42 +0000 |
commit | ecec88750729b2c94d5ca9dedbf7a755c46c41a7 (patch) | |
tree | cdadcf01c85f622d4c869fb85208c48a2fdb2469 /src/arch/sparc | |
parent | 372adea6879ac549df4a415b5913d28b6683d535 (diff) | |
download | gem5-ecec88750729b2c94d5ca9dedbf7a755c46c41a7.tar.xz |
sim, arch, base: Refactor the base remote GDB class.
Fold the GDBListener class into the main BaseRemoteGDB class, move
around a bunch of functions, convert a lot of internal functions to
be private, move some functions into the .cc, make some functions
non-virtual which didn't really need to be overridden.
Change-Id: Id0832b730b0fdfb2eababa5067e72c66de1c147d
Reviewed-on: https://gem5-review.googlesource.com/7422
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/arch/sparc')
-rw-r--r-- | src/arch/sparc/remote_gdb.cc | 10 | ||||
-rw-r--r-- | src/arch/sparc/remote_gdb.hh | 14 |
2 files changed, 16 insertions, 8 deletions
diff --git a/src/arch/sparc/remote_gdb.cc b/src/arch/sparc/remote_gdb.cc index 3f4df0d3a..baec0e7be 100644 --- a/src/arch/sparc/remote_gdb.cc +++ b/src/arch/sparc/remote_gdb.cc @@ -147,8 +147,8 @@ using namespace std; using namespace SparcISA; -RemoteGDB::RemoteGDB(System *_system, ThreadContext *c) - : BaseRemoteGDB(_system, c), regCache32(this), regCache64(this) +RemoteGDB::RemoteGDB(System *_system, ThreadContext *c, int _port) + : BaseRemoteGDB(_system, c, _port), regCache32(this), regCache64(this) {} /////////////////////////////////////////////////////////// @@ -170,7 +170,7 @@ RemoteGDB::acc(Addr va, size_t len) TlbEntry entry; // Check to make sure the first byte is mapped into the processes // address space. - if (context->getProcessPtr()->pTable->lookup(va, entry)) + if (context()->getProcessPtr()->pTable->lookup(va, entry)) return true; return false; } @@ -244,10 +244,10 @@ RemoteGDB::SPARC64GdbRegCache::setRegs(ThreadContext *context) const } -RemoteGDB::BaseGdbRegCache* +BaseGdbRegCache* RemoteGDB::gdbRegs() { - PSTATE pstate = context->readMiscReg(MISCREG_PSTATE); + PSTATE pstate = context()->readMiscReg(MISCREG_PSTATE); if (pstate.am) { return ®Cache32; } else { diff --git a/src/arch/sparc/remote_gdb.hh b/src/arch/sparc/remote_gdb.hh index 653f0b113..f0ddd54e1 100644 --- a/src/arch/sparc/remote_gdb.hh +++ b/src/arch/sparc/remote_gdb.hh @@ -69,7 +69,11 @@ class RemoteGDB : public BaseRemoteGDB size_t size() const { return sizeof(r); } void getRegs(ThreadContext*); void setRegs(ThreadContext*) const; - const std::string name() const { return gdb->name() + ".SPARCGdbRegCache"; } + const std::string + name() const + { + return gdb->name() + ".SPARCGdbRegCache"; + } }; class SPARC64GdbRegCache : public BaseGdbRegCache @@ -91,14 +95,18 @@ class RemoteGDB : public BaseRemoteGDB size_t size() const { return sizeof(r); } void getRegs(ThreadContext*); void setRegs(ThreadContext*) const; - const std::string name() const { return gdb->name() + ".SPARC64GdbRegCache"; } + const std::string + name() const + { + return gdb->name() + ".SPARC64GdbRegCache"; + } }; SPARCGdbRegCache regCache32; SPARC64GdbRegCache regCache64; public: - RemoteGDB(System *_system, ThreadContext *tc); + RemoteGDB(System *_system, ThreadContext *tc, int _port); BaseGdbRegCache *gdbRegs(); }; } // namespace SparcISA |