1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 154 unchanged lines hidden (view full) --- 163 .flags(Stats::total) 164 ; 165} 166 167template <class Impl> 168void 169DefaultRename<Impl>::setCPU(O3CPU *cpu_ptr) 170{ |
171 cpu = cpu_ptr; |
172 DPRINTF(Rename, "Setting CPU pointer.\n"); |
173} 174 175template <class Impl> 176void 177DefaultRename<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr) 178{ |
179 timeBuffer = tb_ptr; 180 181 // Setup wire to read information from time buffer, from IEW stage. 182 fromIEW = timeBuffer->getWire(-iewToRenameDelay); 183 184 // Setup wire to read infromation from time buffer, from commit stage. 185 fromCommit = timeBuffer->getWire(-commitToRenameDelay); 186 187 // Setup wire to write information to previous stages. 188 toDecode = timeBuffer->getWire(0); 189} 190 191template <class Impl> 192void 193DefaultRename<Impl>::setRenameQueue(TimeBuffer<RenameStruct> *rq_ptr) 194{ |
195 renameQueue = rq_ptr; 196 197 // Setup wire to write information to future stages. 198 toIEW = renameQueue->getWire(0); 199} 200 201template <class Impl> 202void 203DefaultRename<Impl>::setDecodeQueue(TimeBuffer<DecodeStruct> *dq_ptr) 204{ |
205 decodeQueue = dq_ptr; 206 207 // Setup wire to get information from decode. 208 fromDecode = decodeQueue->getWire(-decodeToRenameDelay); 209} 210 211template <class Impl> 212void --- 7 unchanged lines hidden (view full) --- 220 emptyROB[tid] = true; 221 } 222} 223 224template<class Impl> 225void 226DefaultRename<Impl>::setActiveThreads(std::list<unsigned> *at_ptr) 227{ |
228 activeThreads = at_ptr; 229} 230 231 232template <class Impl> 233void 234DefaultRename<Impl>::setRenameMap(RenameMap rm_ptr[]) 235{ |
236 for (int i=0; i<numThreads; i++) { 237 renameMap[i] = &rm_ptr[i]; 238 } 239} 240 241template <class Impl> 242void 243DefaultRename<Impl>::setFreeList(FreeList *fl_ptr) 244{ |
245 freeList = fl_ptr; 246} 247 248template<class Impl> 249void 250DefaultRename<Impl>::setScoreboard(Scoreboard *_scoreboard) 251{ |
252 scoreboard = _scoreboard; 253} 254 255template <class Impl> 256bool 257DefaultRename<Impl>::drain() 258{ 259 // Rename is ready to switch out at any time. --- 1136 unchanged lines hidden --- |