changeset 957eb55da9de in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=957eb55da9de
description:
        inorder: squash from memory stall
        this applies to multithreading models which would like to squash a 
thread on memory stall

diffstat:

 src/cpu/inorder/resources/fetch_seq_unit.cc |  6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diffs (16 lines):

diff -r ddd77866bf82 -r 957eb55da9de src/cpu/inorder/resources/fetch_seq_unit.cc
--- a/src/cpu/inorder/resources/fetch_seq_unit.cc       Wed Jun 23 18:21:44 
2010 -0400
+++ b/src/cpu/inorder/resources/fetch_seq_unit.cc       Wed Jun 23 22:09:49 
2010 -0400
@@ -228,7 +228,11 @@
             tid, squash_stage);
 
     InstSeqNum done_seq_num = inst->bdelaySeqNum;
-    Addr new_PC = inst->readPredTarg();
+
+    // Handles the case where we are squashing because of something that is
+    // not a branch...like a memory stall
+    Addr new_PC = (inst->isControl()) ?
+        inst->readPredTarg() : inst->readPC() + instSize;
 
     if (squashSeqNum[tid] <= done_seq_num &&
         lastSquashCycle[tid] == curTick) {
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to