fetch_impl.hh (3349:fec4a86fa212) | fetch_impl.hh (3376:ed8179dd13da) |
---|---|
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; --- 64 unchanged lines hidden (view full) --- 73 if (status == RangeChange) 74 return; 75 76 panic("DefaultFetch doesn't expect recvStatusChange callback!"); 77} 78 79template<class Impl> 80bool | 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; --- 64 unchanged lines hidden (view full) --- 73 if (status == RangeChange) 74 return; 75 76 panic("DefaultFetch doesn't expect recvStatusChange callback!"); 77} 78 79template<class Impl> 80bool |
81DefaultFetch<Impl>::IcachePort::recvTiming(PacketPtr pkt) | 81DefaultFetch<Impl>::IcachePort::recvTiming(Packet *pkt) |
82{ | 82{ |
83 if (pkt->isResponse()) { 84 fetch->processCacheCompletion(pkt); 85 } 86 //else Snooped a coherence request, just return | 83 fetch->processCacheCompletion(pkt); |
87 return true; 88} 89 90template<class Impl> 91void 92DefaultFetch<Impl>::IcachePort::recvRetry() 93{ 94 fetch->recvRetry(); --- 1018 unchanged lines hidden (view full) --- 1113 1114 // Make sure this is a valid index. 1115 assert(offset <= cacheBlkSize - instSize); 1116 1117 // Get the instruction from the array of the cache line. 1118 inst = TheISA::gtoh(*reinterpret_cast<TheISA::MachInst *> 1119 (&cacheData[tid][offset])); 1120 | 84 return true; 85} 86 87template<class Impl> 88void 89DefaultFetch<Impl>::IcachePort::recvRetry() 90{ 91 fetch->recvRetry(); --- 1018 unchanged lines hidden (view full) --- 1110 1111 // Make sure this is a valid index. 1112 assert(offset <= cacheBlkSize - instSize); 1113 1114 // Get the instruction from the array of the cache line. 1115 inst = TheISA::gtoh(*reinterpret_cast<TheISA::MachInst *> 1116 (&cacheData[tid][offset])); 1117 |
1121 ext_inst = TheISA::makeExtMI(inst, fetch_PC); | 1118 ext_inst = TheISA::makeExtMI(inst, cpu->tcBase(tid)); |
1122 1123 // Create a new DynInst from the instruction fetched. 1124 DynInstPtr instruction = new DynInst(ext_inst, fetch_PC, 1125 next_PC, 1126 inst_seq, cpu); 1127 instruction->setTid(tid); 1128 1129 instruction->setASID(tid); --- 324 unchanged lines hidden --- | 1119 1120 // Create a new DynInst from the instruction fetched. 1121 DynInstPtr instruction = new DynInst(ext_inst, fetch_PC, 1122 next_PC, 1123 inst_seq, cpu); 1124 instruction->setTid(tid); 1125 1126 instruction->setASID(tid); --- 324 unchanged lines hidden --- |