1/*
2 * Copyright (c) 2010-2012 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 37 unchanged lines hidden (view full) ---

46#include "base/str.hh"
47#include "config/the_isa.hh"
48#include "cpu/checker/cpu.hh"
49#include "cpu/o3/lsq.hh"
50#include "cpu/o3/lsq_unit.hh"
51#include "debug/Activity.hh"
52#include "debug/IEW.hh"
53#include "debug/LSQUnit.hh"
54#include "debug/O3PipeView.hh"
55#include "mem/packet.hh"
56#include "mem/request.hh"
57
58template<class Impl>
59LSQUnit<Impl>::WritebackEvent::WritebackEvent(DynInstPtr &_inst, PacketPtr _pkt,
60 LSQUnit *lsq_ptr)
61 : Event(Default_Pri, AutoDelete),
62 inst(_inst), pkt(_pkt), lsqPtr(lsq_ptr)

--- 1070 unchanged lines hidden (view full) ---

1133
1134 iewStage->updateLSQNextCycle = true;
1135 }
1136
1137 DPRINTF(LSQUnit, "Completing store [sn:%lli], idx:%i, store head "
1138 "idx:%i\n",
1139 storeQueue[store_idx].inst->seqNum, store_idx, storeHead);
1140
1141#if TRACING_ON
1142 if (DTRACE(O3PipeView)) {
1143 storeQueue[store_idx].inst->storeTick =
1144 curTick() - storeQueue[store_idx].inst->fetchTick;
1145 }
1146#endif
1147
1148 if (isStalled() &&
1149 storeQueue[store_idx].inst->seqNum == stallingStoreIsn) {
1150 DPRINTF(LSQUnit, "Unstalling, stalling store [sn:%lli] "
1151 "load idx:%i\n",
1152 stallingStoreIsn, stallingLoadIdx);
1153 stalled = false;
1154 stallingStoreIsn = 0;
1155 iewStage->replayMemInst(loadQueue[stallingLoadIdx]);

--- 138 unchanged lines hidden ---