sim: Add ability to break at specific kernel function

Adds a GDB callable function that sets a breakpoint at
the beginning of a kernel function.
This commit is contained in:
Dylan Johnson 2015-09-02 13:34:19 -05:00
parent 17dbb49294
commit 71b1c6ce76
2 changed files with 17 additions and 0 deletions

View file

@ -38,6 +38,8 @@
#include "sim/global_event.hh"
#include "sim/sim_events.hh"
#include "sim/sim_exit.hh"
#include "cpu/pc_event.hh"
#include "sim/system.hh"
using namespace std;
@ -87,6 +89,14 @@ schedBreak(Tick when)
warn("need to stop all queues");
}
void
breakAtKernelFunction(const char* funcName)
{
System* curSystem = System::systemList[0];
curSystem->addKernelFuncEvent<BreakPCEvent>(funcName,
"GDB scheduled break", true);
}
///
/// Function to cause the simulator to take a checkpoint from the debugger
///

View file

@ -44,6 +44,13 @@
*/
void schedBreak(Tick when);
/**
* Cause the simulator to execute a breakpoint when
* the given kernel function is reached
* @param funcName the name of the kernel function at which to break
*/
void breakAtKernelFunction(const char* funcName);
/** Cause the simulator to return to python to create a checkpoint
* @param when the cycle to break
*/