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 ---