Debug: Add a function to cause the simulator to create a checkpoint from GDB.
This commit is contained in:
parent
77bea2fb42
commit
8aff996db1
|
@ -38,6 +38,7 @@
|
||||||
#include "sim/debug.hh"
|
#include "sim/debug.hh"
|
||||||
#include "sim/eventq.hh"
|
#include "sim/eventq.hh"
|
||||||
#include "sim/sim_events.hh"
|
#include "sim/sim_events.hh"
|
||||||
|
#include "sim/sim_exit.hh"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -88,6 +89,17 @@ schedBreakCycle(Tick when)
|
||||||
warn("need to stop all queues");
|
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
|
void
|
||||||
eventqDump()
|
eventqDump()
|
||||||
{
|
{
|
||||||
|
|
|
@ -33,8 +33,26 @@
|
||||||
|
|
||||||
#include "base/types.hh"
|
#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);
|
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();
|
int getRemoteGDBPort();
|
||||||
// Remote gdb base port. 0 disables remote gdb.
|
// Remote gdb base port. 0 disables remote gdb.
|
||||||
void setRemoteGDBPort(int port);
|
void setRemoteGDBPort(int port);
|
||||||
|
|
Loading…
Reference in a new issue