Minor remote GDB cleanup.
authorSteve Reinhardt <steve.reinhardt@amd.com>
Thu, 3 Jun 2010 23:54:26 +0000 (16:54 -0700)
committerSteve Reinhardt <steve.reinhardt@amd.com>
Thu, 3 Jun 2010 23:54:26 +0000 (16:54 -0700)
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.

src/cpu/checker/cpu.hh
src/cpu/ozone/cpu.hh
src/cpu/simple/base.cc
src/cpu/simple/base.hh
src/python/m5/main.py
src/sim/process.hh
src/sim/system.cc

index 450ce622886db6568f1a2265a5b3b74a4ec6d2e6..73b27161a52feb6371fab38f4c6a4113c29a469d 100644 (file)
@@ -54,9 +54,6 @@ namespace TheISA
 class Processor;
 class PhysicalMemory;
 
-class RemoteGDB;
-class GDBListener;
-
 #else
 
 class Process;
index a16986c997a4ca12f709c165282bad4563c9df01..fba5886f85fa11bf6fcfe5b95ea74cb464b91c3c 100644 (file)
@@ -58,9 +58,6 @@ namespace TheISA
 class PhysicalMemory;
 class MemoryController;
 
-class RemoteGDB;
-class GDBListener;
-
 namespace TheISA {
     namespace Kernel {
         class Statistics;
index 713ffd0818f4374e2cc4fc13bde58e9ffc95efe4..7f40138d2b4a5f431a8700b7013498cf4a7b0a42 100644 (file)
@@ -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
index 87e21152128c0e5839e1446044d296790c66df2f..1265a1f2f22a052766422ac52689fab03afa8a3c 100644 (file)
@@ -63,9 +63,6 @@ class Process;
 
 #endif // FULL_SYSTEM
 
-class RemoteGDB;
-class GDBListener;
-
 namespace TheISA
 {
     class Predecoder;
index 29f8cc9764fcac4d05006ed1de127ccaec8e4f00..fd58ce5005f7fb9bf3534bcecde7f657373bd867 100644 (file)
@@ -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")
index ab9d64cf337083f3df967e66222c4aa620b5806c..36db8d09133daac7bf854269bd2c79050ca27552 100644 (file)
@@ -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(); }
 
index da77f19958c0bf8d58f7c63f8127bf10b22a7228..c7f5b2d08f20d4ba7ec24a5d3a0ecbf6bbe484c3 100644 (file)
@@ -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();