fetch_impl.hh (4302:c45514c856b0) fetch_impl.hh (4318:eb4241362a80)
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;

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

261
262 branchPred.regStats();
263}
264
265template<class Impl>
266void
267DefaultFetch<Impl>::setCPU(O3CPU *cpu_ptr)
268{
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;

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

261
262 branchPred.regStats();
263}
264
265template<class Impl>
266void
267DefaultFetch<Impl>::setCPU(O3CPU *cpu_ptr)
268{
269 DPRINTF(Fetch, "Setting the CPU pointer.\n");
270 cpu = cpu_ptr;
269 cpu = cpu_ptr;
270 DPRINTF(Fetch, "Setting the CPU pointer.\n");
271
272 // Name is finally available, so create the port.
273 icachePort = new IcachePort(this);
274
275 icachePort->snoopRangeSent = false;
276
277#if USE_CHECKER
278 if (cpu->checker) {

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

287 // so it must start up in active state.
288 switchToActive();
289}
290
291template<class Impl>
292void
293DefaultFetch<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *time_buffer)
294{
271
272 // Name is finally available, so create the port.
273 icachePort = new IcachePort(this);
274
275 icachePort->snoopRangeSent = false;
276
277#if USE_CHECKER
278 if (cpu->checker) {

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

287 // so it must start up in active state.
288 switchToActive();
289}
290
291template<class Impl>
292void
293DefaultFetch<Impl>::setTimeBuffer(TimeBuffer<TimeStruct> *time_buffer)
294{
295 DPRINTF(Fetch, "Setting the time buffer pointer.\n");
296 timeBuffer = time_buffer;
297
298 // Create wires to get information from proper places in time buffer.
299 fromDecode = timeBuffer->getWire(-decodeToFetchDelay);
300 fromRename = timeBuffer->getWire(-renameToFetchDelay);
301 fromIEW = timeBuffer->getWire(-iewToFetchDelay);
302 fromCommit = timeBuffer->getWire(-commitToFetchDelay);
303}
304
305template<class Impl>
306void
307DefaultFetch<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
308{
295 timeBuffer = time_buffer;
296
297 // Create wires to get information from proper places in time buffer.
298 fromDecode = timeBuffer->getWire(-decodeToFetchDelay);
299 fromRename = timeBuffer->getWire(-renameToFetchDelay);
300 fromIEW = timeBuffer->getWire(-iewToFetchDelay);
301 fromCommit = timeBuffer->getWire(-commitToFetchDelay);
302}
303
304template<class Impl>
305void
306DefaultFetch<Impl>::setActiveThreads(std::list<unsigned> *at_ptr)
307{
309 DPRINTF(Fetch, "Setting active threads list pointer.\n");
310 activeThreads = at_ptr;
311}
312
313template<class Impl>
314void
315DefaultFetch<Impl>::setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr)
316{
308 activeThreads = at_ptr;
309}
310
311template<class Impl>
312void
313DefaultFetch<Impl>::setFetchQueue(TimeBuffer<FetchStruct> *fq_ptr)
314{
317 DPRINTF(Fetch, "Setting the fetch queue pointer.\n");
318 fetchQueue = fq_ptr;
319
320 // Create wire to write information to proper place in fetch queue.
321 toDecode = fetchQueue->getWire(0);
322}
323
324template<class Impl>
325void

--- 1130 unchanged lines hidden ---
315 fetchQueue = fq_ptr;
316
317 // Create wire to write information to proper place in fetch queue.
318 toDecode = fetchQueue->getWire(0);
319}
320
321template<class Impl>
322void

--- 1130 unchanged lines hidden ---