summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/cpu.cc
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:40 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:40 -0400
commit0bfdf342da40842a05351d53a384db4a8ff88bf5 (patch)
tree7167c1198b863ddb2b2e058527eda405fd256b49 /src/cpu/inorder/cpu.cc
parent5f608dd2e9a760b4280fb03ce82a11a62c6f3af9 (diff)
downloadgem5-0bfdf342da40842a05351d53a384db4a8ff88bf5.tar.xz
inorder: explicit fault check
Before graduating an instruction, explicitly check fault by making the fault check it's own separate command that can be put on an instruction schedule.
Diffstat (limited to 'src/cpu/inorder/cpu.cc')
-rw-r--r--src/cpu/inorder/cpu.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cpu/inorder/cpu.cc b/src/cpu/inorder/cpu.cc
index 834e591f8..232bf8279 100644
--- a/src/cpu/inorder/cpu.cc
+++ b/src/cpu/inorder/cpu.cc
@@ -517,7 +517,7 @@ InOrderCPU::createBackEndSked(DynInstPtr inst)
}
}
- W.needs(Grad, GraduationUnit::GraduateInst);
+ W.needs(Grad, GraduationUnit::CheckFault);
for (int idx=0; idx < inst->numDestRegs(); idx++) {
W.needs(RegManager, UseDefUnit::WriteDestReg, idx);
@@ -526,6 +526,8 @@ InOrderCPU::createBackEndSked(DynInstPtr inst)
if (inst->isControl())
W.needs(BPred, BranchPredictor::UpdatePredictor);
+ W.needs(Grad, GraduationUnit::GraduateInst);
+
// Insert Back Schedule into our cache of
// resource schedules
addToSkedCache(inst, res_sked);