O3CPU fixes.
authorKevin Lim <ktlim@umich.edu>
Wed, 19 Jul 2006 19:28:02 +0000 (15:28 -0400)
committerKevin Lim <ktlim@umich.edu>
Wed, 19 Jul 2006 19:28:02 +0000 (15:28 -0400)
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

src/cpu/o3/lsq_unit.hh
src/cpu/o3/lsq_unit_impl.hh

index a76a73f0c552086992faa5ae46e48e3a181c3028..512b5a63c01c58123a65706c5d601f801f9adf42 100644 (file)
@@ -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
             // rescheduled eventually
             iewStage->rescheduleMemInst(load_inst);
+            iewStage->decrWb(load_inst->seqNum);
             ++lsqRescheduledLoads;
 
             // Do not generate a writeback event as this instruction is not
index 85b150cd97ec8f4e0fe73a08b67fd0bd5dc88ec4..4f5dbbf1c71a08a3e82bb2ca93aa069469f6e3d5 100644 (file)
@@ -790,6 +790,7 @@ LSQUnit<Impl>::writeback(DynInstPtr &inst, PacketPtr pkt)
 
     // Squashed instructions do not need to complete their access.
     if (inst->isSquashed()) {
+        iewStage->decrWb(inst->seqNum);
         assert(!inst->isStore());
         ++lsqIgnoredResponses;
         return;