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; --- 56 unchanged lines hidden (view full) --- 65 DPRINTF(Fetch, "DefaultFetch doesn't update its state from a " 66 "functional call."); 67} 68 69template<class Impl> 70void 71DefaultFetch<Impl>::IcachePort::recvStatusChange(Status status) 72{ |
73 if (status == RangeChange) { 74 if (!snoopRangeSent) { 75 snoopRangeSent = true; 76 sendStatusChange(Port::RangeChange); 77 } |
78 return; |
79 } |
80 81 panic("DefaultFetch doesn't expect recvStatusChange callback!"); 82} 83 84template<class Impl> 85bool 86DefaultFetch<Impl>::IcachePort::recvTiming(PacketPtr pkt) 87{ --- 199 unchanged lines hidden (view full) --- 287DefaultFetch<Impl>::setCPU(O3CPU *cpu_ptr) 288{ 289 DPRINTF(Fetch, "Setting the CPU pointer.\n"); 290 cpu = cpu_ptr; 291 292 // Name is finally available, so create the port. 293 icachePort = new IcachePort(this); 294 |
295 icachePort->snoopRangeSent = false; 296 |
297#if USE_CHECKER 298 if (cpu->checker) { 299 cpu->checker->setIcachePort(icachePort); 300 } 301#endif 302 303 // Schedule fetch to get the correct PC from the CPU 304 // scheduleFetchStartupEvent(1); --- 1172 unchanged lines hidden --- |