diff options
author | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:34 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2011-06-19 21:43:34 -0400 |
commit | ee7062d94d8216fbb1d279de1a6967381ef366d4 (patch) | |
tree | e9e84400a138f0927938d38aa184a7ec30439334 /src/cpu/inorder/resources/use_def.cc | |
parent | 17f5749dbbb007ee56b60c27f15f43e2e5250408 (diff) | |
download | gem5-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.cc | 4 |
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; |