changeset 2dfacb598d6d in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=2dfacb598d6d
description:
inorder: InstSeqNum bug
Because int and not InstSeqNum was used in a couple of places, you can
overflow the int type and thus get wierd bugs when the sequence number
is negative (or some wierd value)
diffstat:
src/cpu/inorder/resources/agen_unit.cc | 2 +-
src/cpu/inorder/resources/branch_predictor.cc | 2 +-
src/cpu/inorder/resources/execution_unit.cc | 2 +-
src/cpu/inorder/resources/fetch_seq_unit.cc | 2 +-
src/cpu/inorder/resources/tlb_unit.cc | 2 +-
src/cpu/inorder/resources/use_def.cc | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diffs (72 lines):
diff -r f35852d5788f -r 2dfacb598d6d src/cpu/inorder/resources/agen_unit.cc
--- a/src/cpu/inorder/resources/agen_unit.cc Wed Feb 23 16:35:04 2011 -0500
+++ b/src/cpu/inorder/resources/agen_unit.cc Wed Feb 23 16:35:18 2011 -0500
@@ -55,7 +55,7 @@
#if TRACING_ON
ThreadID tid = inst->readTid();
#endif
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
switch (agen_req->cmd)
{
diff -r f35852d5788f -r 2dfacb598d6d
src/cpu/inorder/resources/branch_predictor.cc
--- a/src/cpu/inorder/resources/branch_predictor.cc Wed Feb 23 16:35:04
2011 -0500
+++ b/src/cpu/inorder/resources/branch_predictor.cc Wed Feb 23 16:35:18
2011 -0500
@@ -69,7 +69,7 @@
ResourceRequest* bpred_req = reqs[slot_num];
DynInstPtr inst = bpred_req->inst;
ThreadID tid = inst->readTid();
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
switch (bpred_req->cmd)
{
diff -r f35852d5788f -r 2dfacb598d6d src/cpu/inorder/resources/execution_unit.cc
--- a/src/cpu/inorder/resources/execution_unit.cc Wed Feb 23 16:35:04
2011 -0500
+++ b/src/cpu/inorder/resources/execution_unit.cc Wed Feb 23 16:35:18
2011 -0500
@@ -85,7 +85,7 @@
ResourceRequest* exec_req = reqs[slot_num];
DynInstPtr inst = reqs[slot_num]->inst;
Fault fault = NoFault;
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
Tick cur_tick = curTick();
if (cur_tick == serializeTick) {
diff -r f35852d5788f -r 2dfacb598d6d src/cpu/inorder/resources/fetch_seq_unit.cc
--- a/src/cpu/inorder/resources/fetch_seq_unit.cc Wed Feb 23 16:35:04
2011 -0500
+++ b/src/cpu/inorder/resources/fetch_seq_unit.cc Wed Feb 23 16:35:18
2011 -0500
@@ -76,7 +76,7 @@
DynInstPtr inst = fs_req->inst;
ThreadID tid = inst->readTid();
int stage_num = fs_req->getStageNum();
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
DPRINTF(InOrderFetchSeq, "[tid:%i]: Current PC is %s\n", tid,
pc[tid]);
diff -r f35852d5788f -r 2dfacb598d6d src/cpu/inorder/resources/tlb_unit.cc
--- a/src/cpu/inorder/resources/tlb_unit.cc Wed Feb 23 16:35:04 2011 -0500
+++ b/src/cpu/inorder/resources/tlb_unit.cc Wed Feb 23 16:35:18 2011 -0500
@@ -109,7 +109,7 @@
DynInstPtr inst = tlb_req->inst;
ThreadID tid = inst->readTid();
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
int stage_num = tlb_req->getStageNum();
tlb_req->fault = NoFault;
diff -r f35852d5788f -r 2dfacb598d6d src/cpu/inorder/resources/use_def.cc
--- a/src/cpu/inorder/resources/use_def.cc Wed Feb 23 16:35:04 2011 -0500
+++ b/src/cpu/inorder/resources/use_def.cc Wed Feb 23 16:35:18 2011 -0500
@@ -145,7 +145,7 @@
DynInstPtr inst = ud_req->inst;
ThreadID tid = inst->readTid();
- int seq_num = inst->seqNum;
+ InstSeqNum seq_num = inst->seqNum;
int ud_idx = ud_req->useDefIdx;
// If there is a non-speculative instruction
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev