commit.hh (9437:8088e94a9de0) commit.hh (9444:ab47fe7f03f0)
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

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

194
195 /** Sets pointer to the ROB. */
196 void setROB(ROB *rob_ptr);
197
198 /** Initializes stage by sending back the number of free entries. */
199 void startupStage();
200
201 /** Initializes the draining of commit. */
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

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

194
195 /** Sets pointer to the ROB. */
196 void setROB(ROB *rob_ptr);
197
198 /** Initializes stage by sending back the number of free entries. */
199 void startupStage();
200
201 /** Initializes the draining of commit. */
202 bool drain();
202 void drain();
203
204 /** Resumes execution after draining. */
203
204 /** Resumes execution after draining. */
205 void resume();
205 void drainResume();
206
206
207 /** Completes the switch out of commit. */
208 void switchOut();
207 /** Perform sanity checks after a drain. */
208 void drainSanityCheck() const;
209
209
210 /** Has the stage drained? */
211 bool isDrained() const;
212
210 /** Takes over from another CPU's thread. */
211 void takeOverFrom();
212
213 /** Ticks the commit stage, which tries to commit instructions. */
214 void tick();
215
216 /** Handles any squashes that are sent from IEW, and adds instructions
217 * to the ROB and tries to commit instructions.

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

433 unsigned numRobs;
434
435 /** Number of Active Threads */
436 ThreadID numThreads;
437
438 /** Is a drain pending. */
439 bool drainPending;
440
213 /** Takes over from another CPU's thread. */
214 void takeOverFrom();
215
216 /** Ticks the commit stage, which tries to commit instructions. */
217 void tick();
218
219 /** Handles any squashes that are sent from IEW, and adds instructions
220 * to the ROB and tries to commit instructions.

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

436 unsigned numRobs;
437
438 /** Number of Active Threads */
439 ThreadID numThreads;
440
441 /** Is a drain pending. */
442 bool drainPending;
443
441 /** Is commit switched out. */
442 bool switchedOut;
443
444 /** The latency to handle a trap. Used when scheduling trap
445 * squash event.
446 */
447 Cycles trapLatency;
448
449 /** The interrupt fault. */
450 Fault interrupt;
451

--- 77 unchanged lines hidden ---
444 /** The latency to handle a trap. Used when scheduling trap
445 * squash event.
446 */
447 Cycles trapLatency;
448
449 /** The interrupt fault. */
450 Fault interrupt;
451

--- 77 unchanged lines hidden ---