* Authors: Nathan Binkert
*/
-#ifndef __DEBUG_HH__
-#define __DEBUG_HH__
+#ifndef __SIM_DEBUG_HH__
+#define __SIM_DEBUG_HH__
-#include "sim/host.hh"
+#include "base/types.hh"
-void schedBreakCycle(Tick when);
-void debug_break();
+/** @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 tick to break
+ */
+void schedBreak(Tick when);
+
+/**
+ * Cause the simulator to execute a breakpoint
+ * relative to the current tick.
+ * @param delta the number of ticks to execute until breaking
+ */
+void schedRelBreak(Tick delta);
+
+/**
+ * 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
+ */
+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);
-#endif // __DEBUG_HH__
+#endif // __SIM_DEBUG_HH__