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:
parent
17dbb49294
commit
71b1c6ce76
2 changed files with 17 additions and 0 deletions
|
@ -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
|
||||
///
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue