summaryrefslogtreecommitdiff
path: root/src/cpu/inorder/resources/mult_div_unit.hh
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:38 -0400
committerKorey Sewell <ksewell@umich.edu>2011-06-19 21:43:38 -0400
commitc95fe261abab85bee247737a3d171378689891e0 (patch)
tree75569e5baa06a7bd25870505a48a3ddf24916475 /src/cpu/inorder/resources/mult_div_unit.hh
parent4c979f9325f0c82f3284ce0fb0cc118d77268cb5 (diff)
downloadgem5-c95fe261abab85bee247737a3d171378689891e0.tar.xz
inorder: bug in mdu
segfault was caused by squashed multiply thats in the process of an event. use isProcessing flag to handle this and cleanup the MDU code
Diffstat (limited to 'src/cpu/inorder/resources/mult_div_unit.hh')
-rw-r--r--src/cpu/inorder/resources/mult_div_unit.hh7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/cpu/inorder/resources/mult_div_unit.hh b/src/cpu/inorder/resources/mult_div_unit.hh
index 753bc64a6..7d179bdce 100644
--- a/src/cpu/inorder/resources/mult_div_unit.hh
+++ b/src/cpu/inorder/resources/mult_div_unit.hh
@@ -64,10 +64,6 @@ class MultDivUnit : public Resource {
* valid mult/div sequence is being maintained
*/
int getSlot(DynInstPtr inst);
-
- int findSlot(DynInstPtr inst);
-
- void freeSlot(int slot_idx);
void init();
@@ -84,6 +80,9 @@ class MultDivUnit : public Resource {
void requestAgain(DynInstPtr inst, bool &try_request);
+ void squash(DynInstPtr inst, int stage_num, InstSeqNum squash_seq_num,
+ ThreadID tid);
+
protected:
/** Latency & Repeat Rate for Multiply Insts */
unsigned multRepeatRate;