Deleted Added
sdiff udiff text old ( 10239:592f0bb6bd6f ) new ( 10333:6be8945d226b )
full compact
1/*
2 * Copyright (c) 2011-2012, 2014 ARM Limited
3 * Copyright (c) 2013 Advanced Micro Devices, Inc.
4 * All rights reserved
5 *
6 * The license below extends only to copyright in the software and shall
7 * not be construed as granting a license to any other intellectual
8 * property including but not limited to intellectual property relating
9 * to a hardware implementation of the functionality of the software
10 * licensed hereunder. You may use the software subject to the license

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

146 bool violation();
147 /**
148 * Returns whether or not there was a memory ordering violation for a
149 * specific thread.
150 */
151 bool violation(ThreadID tid)
152 { return thread[tid].violation(); }
153
154 /** Gets the instruction that caused the memory ordering violation. */
155 DynInstPtr getMemDepViolator(ThreadID tid)
156 { return thread[tid].getMemDepViolator(); }
157
158 /** Returns the head index of the load queue for a specific thread. */
159 int getLoadHead(ThreadID tid)
160 { return thread[tid].getLoadHead(); }
161

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

260 /** Returns if the LSQ will write back to memory this cycle. */
261 bool willWB();
262 /** Returns if the LSQ of a specific thread will write back to memory this
263 * cycle.
264 */
265 bool willWB(ThreadID tid)
266 { return thread[tid].willWB(); }
267
268 /** Debugging function to print out all instructions. */
269 void dumpInsts() const;
270 /** Debugging function to print out instructions from a specific thread. */
271 void dumpInsts(ThreadID tid) const
272 { thread[tid].dumpInsts(); }
273
274 /** Executes a read operation, using the load specified at the load
275 * index.

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

322 /** Max LQ Size - Used to Enforce Sharing Policies. */
323 unsigned maxLQEntries;
324
325 /** Max SQ Size - Used to Enforce Sharing Policies. */
326 unsigned maxSQEntries;
327
328 /** Number of Threads. */
329 ThreadID numThreads;
330};
331
332template <class Impl>
333Fault
334LSQ<Impl>::read(RequestPtr req, RequestPtr sreqLow, RequestPtr sreqHigh,
335 uint8_t *data, int load_idx)
336{
337 ThreadID tid = req->threadId();

--- 15 unchanged lines hidden ---