summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/use_def.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:34 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:34 -0400
commitee7062d94d8216fbb1d279de1a6967381ef366d4 (patch)
treee9e84400a138f0927938d38aa184a7ec30439334 /src/cpu/inorder/resources/use_def.cc
parent17f5749dbbb007ee56b60c27f15f43e2e5250408 (diff)
downloadgem5-ee7062d94d8216fbb1d279de1a6967381ef366d4.tar.xz
inorder: handle faults at writeback stage
call trap function when a fault is received
Diffstat (limited to 'src/cpu/inorder/resources/use_def.cc')
-rw-r--r--src/cpu/inorder/resources/use_def.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cpu/inorder/resources/use_def.cc b/src/cpu/inorder/resources/use_def.cc
index d05f42413..5bc78d6ba 100644
--- a/src/cpu/inorder/resources/use_def.cc
+++ b/src/cpu/inorder/resources/use_def.cc
@@ -148,11 +148,11 @@ UseDefUnit::execute(int slot_idx)
// If there is a non-speculative instruction
// in the pipeline then stall instructions here
- if (*nonSpecInstActive[tid] == true &&
- seq_num > *nonSpecSeqNum[tid]) {
+ if (*nonSpecInstActive[tid] == true && seq_num > *nonSpecSeqNum[tid]) {
DPRINTF(InOrderUseDef, "[tid:%i]: [sn:%i] cannot execute because"
"there is non-speculative instruction [sn:%i] has not "
"graduated.\n", tid, seq_num, *nonSpecSeqNum[tid]);
+ ud_req->done(false);
return;
} else if (inst->isNonSpeculative()) {
*nonSpecInstActive[tid] = true;