summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resource.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:35 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:35 -0400
commitb195da9345c00c2961558f80715660c0c0a629fc (patch)
tree0e3c2dee853e7aa46db1a592b62a9d7934c00c69 /src/cpu/inorder/resource.hh
parentd5d4e47f76ec254b89c6b884f5fcbf340d4fed49 (diff)
downloadgem5-b195da9345c00c2961558f80715660c0c0a629fc.tar.xz
inorder: use setupSquash for misspeculation
implement a clean interface to handle branch misprediction and eventually all pipeline flushing
Diffstat (limited to 'src/cpu/inorder/resource.hh')
-rw-r--r--src/cpu/inorder/resource.hh4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/cpu/inorder/resource.hh b/src/cpu/inorder/resource.hh
index 0f2cde7d1..097497362 100644
--- a/src/cpu/inorder/resource.hh
+++ b/src/cpu/inorder/resource.hh
@@ -154,10 +154,14 @@ class Resource {
virtual Fault doCacheAccess(DynInstPtr inst, uint64_t *res=NULL)
{ panic("doCacheAccess undefined for %s", name()); return NoFault; }
+ /** Setup Squash to be sent out to pipeline and resource pool */
+ void setupSquash(DynInstPtr inst, int stage_num, ThreadID tid);
+
/** Squash All Requests After This Seq Num */
virtual void squash(DynInstPtr inst, int stage_num,
InstSeqNum squash_seq_num, ThreadID tid);
+ /** Squash Requests Due to a Memory Stall (By Default, same as "squash" */
virtual void squashDueToMemStall(DynInstPtr inst, int stage_num,
InstSeqNum squash_seq_num, ThreadID tid);