mshr_queue.hh (11197:f8fdd931e674) mshr_queue.hh (11278:18411ccc4f3c)
1/*
2 * Copyright (c) 2012-2013, 2015 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

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

165 * Removes the given MSHR from the queue. This places the MSHR on the
166 * free list.
167 * @param mshr
168 */
169 void deallocate(MSHR *mshr);
170
171 /**
172 * Remove a MSHR from the queue. Returns an iterator into the
1/*
2 * Copyright (c) 2012-2013, 2015 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

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

165 * Removes the given MSHR from the queue. This places the MSHR on the
166 * free list.
167 * @param mshr
168 */
169 void deallocate(MSHR *mshr);
170
171 /**
172 * Remove a MSHR from the queue. Returns an iterator into the
173 * allocatedList for faster squash implementation.
173 * allocatedList.
174 * @param mshr The MSHR to remove.
175 * @return An iterator to the next entry in the allocatedList.
176 */
177 MSHR::Iterator deallocateOne(MSHR *mshr);
178
179 /**
180 * Moves the MSHR to the front of the pending list if it is not
181 * in service.

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

195
196 /**
197 * Mark an in service entry as pending, used to resend a request.
198 * @param mshr The MSHR to resend.
199 */
200 void markPending(MSHR *mshr);
201
202 /**
174 * @param mshr The MSHR to remove.
175 * @return An iterator to the next entry in the allocatedList.
176 */
177 MSHR::Iterator deallocateOne(MSHR *mshr);
178
179 /**
180 * Moves the MSHR to the front of the pending list if it is not
181 * in service.

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

195
196 /**
197 * Mark an in service entry as pending, used to resend a request.
198 * @param mshr The MSHR to resend.
199 */
200 void markPending(MSHR *mshr);
201
202 /**
203 * Squash outstanding requests with the given thread number. If a request
204 * is in service, just squashes the targets.
205 * @param threadNum The thread to squash.
206 */
207 void squash(int threadNum);
208
209 /**
210 * Deallocate top target, possibly freeing the MSHR
211 * @return if MSHR queue is no longer full
212 */
213 bool forceDeallocateTarget(MSHR *mshr);
214
215 /**
216 * Returns true if the pending list is not empty.
217 * @return True if there are outstanding requests.

--- 45 unchanged lines hidden ---
203 * Deallocate top target, possibly freeing the MSHR
204 * @return if MSHR queue is no longer full
205 */
206 bool forceDeallocateTarget(MSHR *mshr);
207
208 /**
209 * Returns true if the pending list is not empty.
210 * @return True if there are outstanding requests.

--- 45 unchanged lines hidden ---