diff options
author | Nathan Binkert <binkertn@umich.edu> | 2003-11-03 16:47:53 -0500 |
---|---|---|
committer | Nathan Binkert <binkertn@umich.edu> | 2003-11-03 16:47:53 -0500 |
commit | 959f0b228b1658b5c0776bd9d91c16bc62cd1f1c (patch) | |
tree | 2833abb1afd375b0f0d43f11f83088cd49df1ee6 /arch/alpha/pseudo_inst.cc | |
parent | ea233ee2aac3b74a817ae3c20305798d420dcaa2 (diff) | |
parent | c55e6b495e569e2b908ab4f58c3ecb529c64f288 (diff) | |
download | gem5-959f0b228b1658b5c0776bd9d91c16bc62cd1f1c.tar.xz |
Merge zizzer.eecs.umich.edu:/bk/m5
into zans.eecs.umich.edu:/z/binkertn/research/m5/latest
--HG--
extra : convert_revision : 2029fb26a8c971a791161c9e24dfdc1135f3aaf8
Diffstat (limited to 'arch/alpha/pseudo_inst.cc')
-rw-r--r-- | arch/alpha/pseudo_inst.cc | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/arch/alpha/pseudo_inst.cc b/arch/alpha/pseudo_inst.cc index f8e0036ba..c62de3ce6 100644 --- a/arch/alpha/pseudo_inst.cc +++ b/arch/alpha/pseudo_inst.cc @@ -30,6 +30,7 @@ #include "arch/alpha/pseudo_inst.hh" #include "cpu/exec_context.hh" +#include "sim/annotation.hh" #include "sim/param.hh" #include "sim/serialize.hh" #include "sim/sim_exit.hh" @@ -42,6 +43,18 @@ namespace AlphaPseudo { bool doStatisticsInsts; bool doCheckpointInsts; + bool doQuiesce; + + void + quiesce(ExecContext *xc) + { + if (!doQuiesce) + return; + + Annotate::QUIESCE(xc); + xc->setStatus(ExecContext::Suspended); + xc->kernelStats.quiesce(); + } void m5exit_old(ExecContext *xc) @@ -126,16 +139,20 @@ namespace AlphaPseudo Context context("PseudoInsts"); + Param<bool> __quiesce(&context, "quiesce", + "enable quiesce instructions", + true); Param<bool> __statistics(&context, "statistics", - "enable the statistics pseudo instructions", + "enable statistics pseudo instructions", true); Param<bool> __checkpoint(&context, "checkpoint", - "enable the checkpoint pseudo instructions", + "enable checkpoint pseudo instructions", true); void Context::checkParams() { + doQuiesce = __quiesce; doStatisticsInsts = __statistics; doCheckpointInsts = __checkpoint; } |