Merge zizzer.eecs.umich.edu:/bk/m5

into zans.eecs.umich.edu:/z/binkertn/research/m5/latest

--HG--
extra : convert_revision : 2029fb26a8c971a791161c9e24dfdc1135f3aaf8
This commit is contained in:
Nathan Binkert 2003-11-03 16:47:53 -05:00
commit 959f0b228b
3 changed files with 22 additions and 7 deletions

View file

@ -2410,11 +2410,8 @@ decode OPCODE default Unknown::unknown() {
}
}});
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()) {

View file

@ -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;
}

View file

@ -30,6 +30,7 @@ class ExecContext;
namespace AlphaPseudo
{
void quiesce(ExecContext *xc);
void m5exit(ExecContext *xc);
void m5exit_old(ExecContext *xc);
void resetstats(ExecContext *xc);