summaryrefslogtreecommitdiff
path: root/src/arch/sparc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-01-16 01:25:39 -0800
committerGabe Black <gabeblack@google.com>2018-01-20 07:28:42 +0000
commitecec88750729b2c94d5ca9dedbf7a755c46c41a7 (patch)
treecdadcf01c85f622d4c869fb85208c48a2fdb2469 /src/arch/sparc
parent372adea6879ac549df4a415b5913d28b6683d535 (diff)
downloadgem5-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.cc10
-rw-r--r--src/arch/sparc/remote_gdb.hh14
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 &regCache32;
} 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