}
}});
0x01: quiesce({{
- if (!xc->misspeculating()) {
- Annotate::QUIESCE(xc);
- xc->setStatus(ExecContext::Suspended);
- xc->kernelStats.quiesce();
- }
+ if (!xc->misspeculating())
+ AlphaPseudo::quiesce(xc);
}});
0x10: ivlb({{
if (!xc->misspeculating()) {
#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"
{
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)
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;
}