projects
/
gem5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Yet another merge with the main repository.
[gem5.git]
/
src
/
cpu
/
inorder
/
pipeline_stage.hh
diff --git
a/src/cpu/inorder/pipeline_stage.hh
b/src/cpu/inorder/pipeline_stage.hh
index ec70fefc5daf3c0dba3169f471b704041f7b6e78..963d96afb539b7f30bce6850a39c31b5914ac740 100644
(file)
--- a/
src/cpu/inorder/pipeline_stage.hh
+++ b/
src/cpu/inorder/pipeline_stage.hh
@@
-36,11
+36,11
@@
#include <vector>
#include "base/statistics.hh"
#include <vector>
#include "base/statistics.hh"
-#include "cpu/timebuf.hh"
-#include "cpu/inorder/inorder_dyn_inst.hh"
#include "cpu/inorder/comm.hh"
#include "cpu/inorder/comm.hh"
-#include "
params/InOrderCPU
.hh"
+#include "
cpu/inorder/inorder_dyn_inst
.hh"
#include "cpu/inorder/pipeline_traits.hh"
#include "cpu/inorder/pipeline_traits.hh"
+#include "cpu/timebuf.hh"
+#include "params/InOrderCPU.hh"
class InOrderCPU;
class InOrderCPU;
@@
-227,21
+227,17
@@
class PipelineStage
public:
void activateThread(ThreadID tid);
public:
void activateThread(ThreadID tid);
- /** Squashes if there is a PC-relative branch that was predicted
- * incorrectly. Sends squash information back to fetch.
- */
- void squashDueToBranch(DynInstPtr &inst, ThreadID tid);
+ /** Setup Squashing Information to be passed back thru the pipeline */
+ void setupSquash(DynInstPtr inst, ThreadID tid);
virtual void squashDueToMemStall(InstSeqNum seq_num, ThreadID tid);
virtual void squashDueToMemStall(InstSeqNum seq_num, ThreadID tid);
+ /** Perform squash of instructions above seq_num */
+ virtual void squash(InstSeqNum squash_num, ThreadID tid);
+
/** Squash instructions from stage buffer */
void squashPrevStageInsts(InstSeqNum squash_seq_num, ThreadID tid);
/** Squash instructions from stage buffer */
void squashPrevStageInsts(InstSeqNum squash_seq_num, ThreadID tid);
- /** Squashes due to commit signalling a squash. Changes status to
- * squashing and clears block/unblock signals as needed.
- */
- virtual void squash(InstSeqNum squash_num, ThreadID tid);
-
void dumpInsts();
protected:
void dumpInsts();
protected: