Added remote gdb objects to each process
--HG-- extra : convert_revision : 1b5c1470ffc52b2f7719e469153702dec694f9a3
This commit is contained in:
parent
8840ebcb00
commit
45c3f1747c
2 changed files with 18 additions and 0 deletions
|
@ -35,6 +35,7 @@
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
#include "arch/remote_gdb.hh"
|
||||||
#include "base/intmath.hh"
|
#include "base/intmath.hh"
|
||||||
#include "base/loader/object_file.hh"
|
#include "base/loader/object_file.hh"
|
||||||
#include "base/loader/symtab.hh"
|
#include "base/loader/symtab.hh"
|
||||||
|
@ -154,6 +155,13 @@ Process::registerThreadContext(ThreadContext *tc)
|
||||||
int myIndex = threadContexts.size();
|
int myIndex = threadContexts.size();
|
||||||
threadContexts.push_back(tc);
|
threadContexts.push_back(tc);
|
||||||
|
|
||||||
|
RemoteGDB *rgdb = new RemoteGDB(system, tc);
|
||||||
|
GDBListener *gdbl = new GDBListener(rgdb, 7000 + myIndex);
|
||||||
|
gdbl->listen();
|
||||||
|
//gdbl->accept();
|
||||||
|
|
||||||
|
remoteGDB.push_back(rgdb);
|
||||||
|
|
||||||
// return CPU number to caller
|
// return CPU number to caller
|
||||||
return myIndex;
|
return myIndex;
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,11 @@ class SyscallDesc;
|
||||||
class PageTable;
|
class PageTable;
|
||||||
class TranslatingPort;
|
class TranslatingPort;
|
||||||
class System;
|
class System;
|
||||||
|
class GDBListener;
|
||||||
|
namespace TheISA
|
||||||
|
{
|
||||||
|
class RemoteGDB;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
copyStringArray(std::vector<std::string> &strings, Addr array_ptr,
|
copyStringArray(std::vector<std::string> &strings, Addr array_ptr,
|
||||||
|
@ -72,6 +77,11 @@ class Process : public SimObject
|
||||||
// thread contexts associated with this process
|
// thread contexts associated with this process
|
||||||
std::vector<ThreadContext *> threadContexts;
|
std::vector<ThreadContext *> threadContexts;
|
||||||
|
|
||||||
|
// remote gdb objects
|
||||||
|
std::vector<TheISA::RemoteGDB *> remoteGDB;
|
||||||
|
std::vector<GDBListener *> gdbListen;
|
||||||
|
bool breakpoint();
|
||||||
|
|
||||||
// number of CPUs (esxec contexts, really) assigned to this process.
|
// number of CPUs (esxec contexts, really) assigned to this process.
|
||||||
unsigned int numCpus() { return threadContexts.size(); }
|
unsigned int numCpus() { return threadContexts.size(); }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue