mshr_queue.cc (10192:5c2c4195b839) mshr_queue.cc (10509:d5554f97c451)
1/*
2 * Copyright (c) 2012-2013 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

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

40 * Authors: Erik Hallnor
41 * Andreas Sandberg
42 */
43
44/** @file
45 * Definition of MSHRQueue class functions.
46 */
47
1/*
2 * Copyright (c) 2012-2013 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

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

40 * Authors: Erik Hallnor
41 * Andreas Sandberg
42 */
43
44/** @file
45 * Definition of MSHRQueue class functions.
46 */
47
48#include "base/trace.hh"
48#include "mem/cache/mshr_queue.hh"
49#include "mem/cache/mshr_queue.hh"
50#include "debug/Drain.hh"
49
50using namespace std;
51
52MSHRQueue::MSHRQueue(const std::string &_label,
53 int num_entries, int reserve, int _index)
54 : label(_label), numEntries(num_entries + reserve - 1),
55 numReserve(reserve), registers(numEntries),
56 drainManager(NULL), allocated(0), inServiceEntries(0), index(_index)

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

186 inServiceEntries--;
187 } else {
188 readyList.erase(mshr->readyIter);
189 }
190 mshr->deallocate();
191 if (drainManager && allocated == 0) {
192 // Notify the drain manager that we have completed draining if
193 // there are no other outstanding requests in this MSHR queue.
51
52using namespace std;
53
54MSHRQueue::MSHRQueue(const std::string &_label,
55 int num_entries, int reserve, int _index)
56 : label(_label), numEntries(num_entries + reserve - 1),
57 numReserve(reserve), registers(numEntries),
58 drainManager(NULL), allocated(0), inServiceEntries(0), index(_index)

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

188 inServiceEntries--;
189 } else {
190 readyList.erase(mshr->readyIter);
191 }
192 mshr->deallocate();
193 if (drainManager && allocated == 0) {
194 // Notify the drain manager that we have completed draining if
195 // there are no other outstanding requests in this MSHR queue.
196 DPRINTF(Drain, "MSHRQueue now empty, signalling drained\n");
194 drainManager->signalDrainDone();
195 drainManager = NULL;
196 setDrainState(Drainable::Drained);
197 }
198 return retval;
199}
200
201void

--- 87 unchanged lines hidden ---
197 drainManager->signalDrainDone();
198 drainManager = NULL;
199 setDrainState(Drainable::Drained);
200 }
201 return retval;
202}
203
204void

--- 87 unchanged lines hidden ---