Debug: Add a function to cause the simulator to create a checkpoint from GDB.

This commit is contained in:
Ali Saidi 2011-05-04 20:38:27 -05:00
parent 77bea2fb42
commit 8aff996db1
2 changed files with 30 additions and 0 deletions

View file

@ -38,6 +38,7 @@
#include "sim/debug.hh"
#include "sim/eventq.hh"
#include "sim/sim_events.hh"
#include "sim/sim_exit.hh"
using namespace std;
@ -88,6 +89,17 @@ schedBreakCycle(Tick when)
warn("need to stop all queues");
}
///
/// Function to cause the simulator to take a checkpoint from the debugger
///
void
takeCheckpoint(Tick when)
{
if (!when)
when = curTick() + 1;
exitSimLoop("checkpoint", 0, when, 0);
}
void
eventqDump()
{

View file

@ -33,8 +33,26 @@
#include "base/types.hh"
/** @file This file provides the definitions for some useful debugging
* functions. These are intended to be called from a debugger such as
* gdb.
*/
/** Cause the simulator to execute a breakpoint
* @param when the cycle to break
*/
void schedBreakCycle(Tick when);
/** Cause the simulator to return to python to create a checkpoint
* @param when the cycle to break
*/
void takeCheckpoint(Tick when);
/** Dump all the events currently on the event queue
*/
void eventqDump();
int getRemoteGDBPort();
// Remote gdb base port. 0 disables remote gdb.
void setRemoteGDBPort(int port);