O3CPU fixes.
src/cpu/o3/lsq_unit.hh: LSQ needs to decrement the WB counter if the load is going to be replayed. src/cpu/o3/lsq_unit_impl.hh: LSQ needs to decrement the WB counter if the load is squashed. --HG-- extra : convert_revision : 20a10baf0d6ab46065e561ddba231251865ebdbd
This commit is contained in:
parent
0cedb23d3c
commit
85515c4976
2 changed files with 2 additions and 0 deletions
|
@ -601,6 +601,7 @@ LSQUnit<Impl>::read(Request *req, T &data, int load_idx)
|
||||||
// Tell IQ/mem dep unit that this instruction will need to be
|
// Tell IQ/mem dep unit that this instruction will need to be
|
||||||
// rescheduled eventually
|
// rescheduled eventually
|
||||||
iewStage->rescheduleMemInst(load_inst);
|
iewStage->rescheduleMemInst(load_inst);
|
||||||
|
iewStage->decrWb(load_inst->seqNum);
|
||||||
++lsqRescheduledLoads;
|
++lsqRescheduledLoads;
|
||||||
|
|
||||||
// Do not generate a writeback event as this instruction is not
|
// Do not generate a writeback event as this instruction is not
|
||||||
|
|
|
@ -790,6 +790,7 @@ LSQUnit<Impl>::writeback(DynInstPtr &inst, PacketPtr pkt)
|
||||||
|
|
||||||
// Squashed instructions do not need to complete their access.
|
// Squashed instructions do not need to complete their access.
|
||||||
if (inst->isSquashed()) {
|
if (inst->isSquashed()) {
|
||||||
|
iewStage->decrWb(inst->seqNum);
|
||||||
assert(!inst->isStore());
|
assert(!inst->isStore());
|
||||||
++lsqIgnoredResponses;
|
++lsqIgnoredResponses;
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue