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 void drain(); |
203 204 /** Resumes execution after draining. */ |
205 void drainResume(); |
206 |
207 /** Perform sanity checks after a drain. */ 208 void drainSanityCheck() const; |
209 |
210 /** Has the stage drained? */ 211 bool isDrained() const; 212 |
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 |
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 --- |