arm: Make EL checks available in SE mode
[gem5.git] / src / sim / debug.hh
index 79792234be579e89616617fbb277bb09a905ba6d..8587325e10cad6b42b5887700a1f6dfe701b9229 100644 (file)
  * Authors: Nathan Binkert
  */
 
-#ifndef __DEBUG_HH__
-#define __DEBUG_HH__
+#ifndef __SIM_DEBUG_HH__
+#define __SIM_DEBUG_HH__
 
-void debug_break();
+#include "base/types.hh"
 
-#endif // __DEBUG_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 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 // __SIM_DEBUG_HH__