diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2010-06-03 16:54:26 -0700 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2010-06-03 16:54:26 -0700 |
commit | f92e91e85309e9dcfd0b3c5a8e4faa460d921b7f (patch) | |
tree | b0b0362e50679e753bbd7db4aafce8376d8571e2 | |
parent | 4a3ce94386da669e82e1fd32fb201e2c9385938e (diff) | |
download | gem5-f92e91e85309e9dcfd0b3c5a8e4faa460d921b7f.tar.xz |
Minor remote GDB cleanup.
Expand the help text on the --remote-gdb-port option so
people know you can use it to disable remote gdb without
reading the source code, and thus don't waste any time
trying to add a separate option to do that.
Clean up some gdb-related cruft I found while looking
for where one would add a gdb disable option, before
I found the comment that told me that I didn't need
to do that.
-rw-r--r-- | src/cpu/checker/cpu.hh | 3 | ||||
-rw-r--r-- | src/cpu/ozone/cpu.hh | 3 | ||||
-rw-r--r-- | src/cpu/simple/base.cc | 1 | ||||
-rw-r--r-- | src/cpu/simple/base.hh | 3 | ||||
-rw-r--r-- | src/python/m5/main.py | 2 | ||||
-rw-r--r-- | src/sim/process.hh | 5 | ||||
-rw-r--r-- | src/sim/system.cc | 17 |
7 files changed, 10 insertions, 24 deletions
diff --git a/src/cpu/checker/cpu.hh b/src/cpu/checker/cpu.hh index 450ce6228..73b27161a 100644 --- a/src/cpu/checker/cpu.hh +++ b/src/cpu/checker/cpu.hh @@ -54,9 +54,6 @@ namespace TheISA class Processor; class PhysicalMemory; -class RemoteGDB; -class GDBListener; - #else class Process; diff --git a/src/cpu/ozone/cpu.hh b/src/cpu/ozone/cpu.hh index a16986c99..fba5886f8 100644 --- a/src/cpu/ozone/cpu.hh +++ b/src/cpu/ozone/cpu.hh @@ -58,9 +58,6 @@ namespace TheISA class PhysicalMemory; class MemoryController; -class RemoteGDB; -class GDBListener; - namespace TheISA { namespace Kernel { class Statistics; diff --git a/src/cpu/simple/base.cc b/src/cpu/simple/base.cc index 713ffd081..7f40138d2 100644 --- a/src/cpu/simple/base.cc +++ b/src/cpu/simple/base.cc @@ -76,7 +76,6 @@ #include "arch/stacktrace.hh" #include "arch/tlb.hh" #include "arch/vtophys.hh" -#include "base/remote_gdb.hh" #else // !FULL_SYSTEM #include "mem/mem_object.hh" #endif // FULL_SYSTEM diff --git a/src/cpu/simple/base.hh b/src/cpu/simple/base.hh index 87e211521..1265a1f2f 100644 --- a/src/cpu/simple/base.hh +++ b/src/cpu/simple/base.hh @@ -63,9 +63,6 @@ class Process; #endif // FULL_SYSTEM -class RemoteGDB; -class GDBListener; - namespace TheISA { class Predecoder; diff --git a/src/python/m5/main.py b/src/python/m5/main.py index 29f8cc976..fd58ce500 100644 --- a/src/python/m5/main.py +++ b/src/python/m5/main.py @@ -101,7 +101,7 @@ set_group("Debugging Options") add_option("--debug-break", metavar="TIME[,TIME]", action='append', split=',', help="Cycle to create a breakpoint") add_option("--remote-gdb-port", type='int', default=7000, - help="Remote gdb base port") + help="Remote gdb base port (set to 0 to disable listening)") # Tracing options set_group("Trace Options") diff --git a/src/sim/process.hh b/src/sim/process.hh index ab9d64cf3..36db8d091 100644 --- a/src/sim/process.hh +++ b/src/sim/process.hh @@ -91,11 +91,6 @@ class Process : public SimObject // thread contexts associated with this process std::vector<int> contextIds; - // remote gdb objects - std::vector<BaseRemoteGDB *> remoteGDB; - std::vector<GDBListener *> gdbListen; - bool breakpoint(); - // number of CPUs (esxec contexts, really) assigned to this process. unsigned int numCpus() { return contextIds.size(); } diff --git a/src/sim/system.cc b/src/sim/system.cc index da77f1995..c7f5b2d08 100644 --- a/src/sim/system.cc +++ b/src/sim/system.cc @@ -151,9 +151,6 @@ System::~System() #endif // FULL_SYSTEM} } -int rgdb_wait = -1; -int rgdb_enable = true; - void System::setMemoryMode(Enums::MemoryMode mode) { @@ -168,6 +165,13 @@ bool System::breakpoint() return false; } +/** + * Setting rgdb_wait to a positive integer waits for a remote debugger to + * connect to that context ID before continuing. This should really + be a parameter on the CPU object or something... + */ +int rgdb_wait = -1; + int System::registerThreadContext(ThreadContext *tc, int assigned) { @@ -193,14 +197,11 @@ System::registerThreadContext(ThreadContext *tc, int assigned) _numContexts++; int port = getRemoteGDBPort(); - if (rgdb_enable && port) { + if (port) { RemoteGDB *rgdb = new RemoteGDB(this, tc); GDBListener *gdbl = new GDBListener(rgdb, port + id); gdbl->listen(); - /** - * Uncommenting this line waits for a remote debugger to - * connect to the simulator before continuing. - */ + if (rgdb_wait != -1 && rgdb_wait == id) gdbl->accept(); |