M5ops
From gem5
This page explains the special opcodes that can be used in M5 to do checkpoints etc.
The m5 Utility (FS mode)
The m5 utility (see util/m5/) can be used in FS mode to issue special instructions to trigger simulation specific functionality. It currently offers the following options:
- ivlb: Deprecated, present only for old binary compatibility
- ivle: Deprecated, present only for old binary compatibility
- initparam: Deprecated, present only for old binary compatibility
- sw99param: Deprecated, present only for old binary compatibility
- exit [delay]: Stop the simulation in delay ticks.
- resetstats [delay [period]]: Reset simulation statistics in delay ticks; repeat this every period ticks.
- dumpstats [delay [period]]: Save simulation statistics to a file in delay ticks; repeat this every period ticks.
- dumpresetstats [delay [period]]: same as resetstats; dumpstats
- checkpoint [delay [period]]: Create a checkpoint in delay ticks; repeat this every period ticks.
- readfile: Print the file specified by the config parameter system.readfile. This is how the the rcS files are copied into the simulation environment.
- debugbreak: Call debug_break() in the simulator (causes simulator to get SIGTRAP signal, useful if debugging with GDB).
- switchcpu: Cause an exit event of type, "switch cpu," allowing the Python to switch to a different CPU model if desired.
Other M5 ops
These are other M5 ops that aren't useful in command line form.
- quiesce: De-schedule the CPUs tick() call until an some asynchronous event wakes it (an interrupt)
- quiesceNS: Same as above, but automatically wakes after a number of nanoseconds if it's not woken up prior
- quiesceCycles: Same as above but with CPU cycles instead of nanoseconds
- quisceTIme: The amount of time the CPU was quiesced for
- addsymbol: Add a symbol to the simulators symbol table. For example when a kernel module is loaded