From: Lisa Hsu Date: Wed, 16 Aug 2006 21:54:00 +0000 (-0400) Subject: Add in checkpointing in the frontend, so that when a checkpoint is called, the python... X-Git-Tag: m5_2.0_beta1~16 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c475fd5211b49bdc8ac8c51882394bb468cc3865;p=gem5.git Add in checkpointing in the frontend, so that when a checkpoint is called, the python handles it, and the simulation continues. Also, make it so that the cycle number is part of the cpt dir name, so that multiple checkpoints do not overwrite each other. --HG-- extra : convert_revision : a55e4ac20da5a57ea8735951b9070960b9b8298f --- diff --git a/configs/example/fs.py b/configs/example/fs.py index 92d2e29e6..7c888c536 100644 --- a/configs/example/fs.py +++ b/configs/example/fs.py @@ -102,21 +102,19 @@ else: m5.instantiate(root) -#exit_event = m5.simulate(2600000000000) -#if exit_event.getCause() != "user interrupt received": -# m5.checkpoint(root, 'cpt') -# exit_event = m5.simulate(300000000000) -# if exit_event.getCause() != "user interrupt received": -# m5.checkpoint(root, 'cptA') - - if options.maxtick: - exit_event = m5.simulate(options.maxtick) + arg = options.maxtick elif options.maxtime: simtime = int(options.maxtime * root.clock.value) print "simulating for: ", simtime - exit_event = m5.simulate(simtime) + arg = simtime else: - exit_event = m5.simulate() + arg = -1 + +exit_event = m5.simulate(arg) + +while exit_event.getCause() == "checkpoint": + m5.checkpoint(root, "cpt.%d") + exit_event = m5.simulate(arg) print 'Exiting @ cycle', m5.curTick(), 'because', exit_event.getCause()