summaryrefslogtreecommitdiff
path: root/src/sim/sim_exit.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/sim/sim_exit.hh')
-rw-r--r--src/sim/sim_exit.hh20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/sim/sim_exit.hh b/src/sim/sim_exit.hh
index f14256933..545bf4ae0 100644
--- a/src/sim/sim_exit.hh
+++ b/src/sim/sim_exit.hh
@@ -24,6 +24,9 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Authors: Nathan Binkert
+ * Steve Reinhardt
*/
#ifndef __SIM_EXIT_HH__
@@ -33,12 +36,23 @@
#include "sim/host.hh"
+// forward declaration
class Callback;
+/// Register a callback to be called when Python exits. Defined in
+/// sim/main.cc.
void registerExitCallback(Callback *);
-void exitNow(const std::string &cause, int exit_code);
-void exitNow(const char *cause, int exit_code);
-void SimExit(Tick when, const char *message);
+/// Schedule an event to exit the simulation loop (returning to
+/// Python) at the indicated tick. The message and exit_code
+/// parameters are saved in the SimLoopExitEvent to indicate why the
+/// exit occurred.
+void exitSimLoop(Tick when, const std::string &message, int exit_code = 0);
+
+/// Schedule an event to exit the simulation loop (returning to
+/// Python) at the end of the current cycle (curTick). The message
+/// and exit_code parameters are saved in the SimLoopExitEvent to
+/// indicate why the exit occurred.
+void exitSimLoop(const std::string &cause, int exit_code = 0);
#endif // __SIM_EXIT_HH__