summaryrefslogtreecommitdiff
path: root/arch/alpha/isa_desc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/alpha/isa_desc')
-rw-r--r--arch/alpha/isa_desc16
1 files changed, 14 insertions, 2 deletions
diff --git a/arch/alpha/isa_desc b/arch/alpha/isa_desc
index 75f765029..09fb4a50a 100644
--- a/arch/alpha/isa_desc
+++ b/arch/alpha/isa_desc
@@ -2425,9 +2425,21 @@ decode OPCODE default Unknown::unknown() {
if (!xc->misspeculating())
Annotate::EndInterval(xc);
}}, No_OpClass);
- 0x20: m5exit({{
+ 0x20: m5exit_old({{
if (!xc->misspeculating())
- SimExit("m5_exit instruction encountered");
+ SimExit(curTick, "m5_exit_old instruction encountered");
+ }}, No_OpClass);
+ 0x21: m5exit({{
+ if (!xc->misspeculating()) {
+ Tick when = curTick;
+ Tick delay = xc->regs.intRegFile[16];
+ if (delay != 0) {
+ delay *= ticksPerUS;
+ delay /= 1000;
+ when += delay;
+ }
+ SimExit(when, "m5_exit instruction encountered");
+ }
}}, No_OpClass);
0x30: initparam({{ Ra = xc->cpu->system->init_param; }});
0x40: resetstats({{