/gem5/src/cpu/o3/ |
H A D | cpu_policy.hh | 60 template<class Impl> 68 typedef ::ROB<Impl> ROB; 70 typedef InstructionQueue<Impl> IQ; 72 typedef ::MemDepUnit<StoreSet, Impl> MemDepUnit; 74 typedef ::LSQ<Impl> LSQ; 76 typedef ::LSQUnit<Impl> LSQUnit; 79 typedef DefaultFetch<Impl> Fetch; 81 typedef DefaultDecode<Impl> Decode; 83 typedef DefaultRename<Impl> Rename; 85 typedef DefaultIEW<Impl> IE [all...] |
H A D | comm.hh | 56 template<class Impl> 58 typedef typename Impl::DynInstPtr DynInstPtr; 62 DynInstPtr insts[Impl::MaxWidth]; 69 template<class Impl> 71 typedef typename Impl::DynInstPtr DynInstPtr; 75 DynInstPtr insts[Impl::MaxWidth]; 79 template<class Impl> 81 typedef typename Impl::DynInstPtr DynInstPtr; 85 DynInstPtr insts[Impl::MaxWidth]; 89 template<class Impl> [all...] |
H A D | thread_context_impl.hh | 56 template <class Impl> 58 O3ThreadContext<Impl>::getVirtProxy() 63 template <class Impl> 65 O3ThreadContext<Impl>::dumpFuncProfile() 70 template <class Impl> 72 O3ThreadContext<Impl>::takeOverFrom(ThreadContext *old_context) 86 template <class Impl> 88 O3ThreadContext<Impl>::activate() 103 template <class Impl> 105 O3ThreadContext<Impl> [all...] |
H A D | cpu.cc | 93 template <class Impl> 94 FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) 152 checker = dynamic_cast<Checker<Impl> *>(temp_checker); 204 if (active_threads > Impl::MaxThreads) { 320 this->thread[tid] = new typename FullO3CPU<Impl>::Thread( 321 (typename Impl::O3CPU *)(this), 331 this->thread[tid] = new typename FullO3CPU<Impl>::Thread( 332 (typename Impl::O3CPU *)(this), 341 O3ThreadContext<Impl> *o3_tc = new O3ThreadContext<Impl>; [all...] |
H A D | lsq_impl.hh | 62 template <class Impl> 63 LSQ<Impl>::LSQ(O3CPU *cpu_ptr, IEW *iew_ptr, DerivO3CPUParams *params) 78 assert(numThreads > 0 && numThreads <= Impl::MaxThreads); 113 template<class Impl> 115 LSQ<Impl>::name() const 120 template<class Impl> 122 LSQ<Impl>::regStats() 130 template<class Impl> 132 LSQ<Impl>::setActiveThreads(list<ThreadID> *at_ptr) 138 template <class Impl> [all...] |
H A D | impl.hh | 39 template <class Impl> 42 template <class Impl>
|
H A D | mem_dep_unit_impl.hh | 53 template <class MemDepPred, class Impl> 54 MemDepUnit<MemDepPred, Impl>::MemDepUnit() 60 template <class MemDepPred, class Impl> 61 MemDepUnit<MemDepPred, Impl>::MemDepUnit(DerivO3CPUParams *params) 71 template <class MemDepPred, class Impl> 72 MemDepUnit<MemDepPred, Impl>::~MemDepUnit() 74 for (ThreadID tid = 0; tid < Impl::MaxThreads; tid++) { 96 template <class MemDepPred, class Impl> 98 MemDepUnit<MemDepPred, Impl>::init(DerivO3CPUParams *params, ThreadID tid) 109 template <class MemDepPred, class Impl> [all...] |
H A D | dyn_inst_impl.hh | 51 template <class Impl> 52 BaseO3DynInst<Impl>::BaseO3DynInst(const StaticInstPtr &staticInst, 56 : BaseDynInst<Impl>(staticInst, macroop, pc, predPC, seq_num, cpu) 61 template <class Impl> 62 BaseO3DynInst<Impl>::BaseO3DynInst(const StaticInstPtr &_staticInst, 64 : BaseDynInst<Impl>(_staticInst, _macroop) 69 template <class Impl>BaseO3DynInst<Impl>::~BaseO3DynInst() 105 template <class Impl> 107 BaseO3DynInst<Impl> [all...] |
H A D | rob_impl.hh | 57 template <class Impl> 58 ROB<Impl>::ROB(O3CPU *_cpu, DerivO3CPUParams *params) 95 for (ThreadID tid = numThreads; tid < Impl::MaxThreads; tid++) { 102 template <class Impl> 104 ROB<Impl>::resetState() 106 for (ThreadID tid = 0; tid < Impl::MaxThreads; tid++) { 120 template <class Impl> 122 ROB<Impl>::name() const 127 template <class Impl> 129 ROB<Impl> [all...] |
H A D | inst_queue_impl.hh | 63 template <class Impl> 64 InstructionQueue<Impl>::FUCompletion::FUCompletion(const DynInstPtr &_inst, 65 int fu_idx, InstructionQueue<Impl> *iq_ptr) 71 template <class Impl> 73 InstructionQueue<Impl>::FUCompletion::process() 80 template <class Impl> 82 InstructionQueue<Impl>::FUCompletion::description() const 87 template <class Impl> 88 InstructionQueue<Impl>::InstructionQueue(O3CPU *cpu_ptr, IEW *iew_ptr, 118 for (ThreadID tid = 0; tid < Impl [all...] |
H A D | fetch.hh | 62 template <class Impl> 73 template <class Impl> 77 /** Typedefs from Impl. */ 78 typedef typename Impl::CPUPol CPUPol; 79 typedef typename Impl::DynInst DynInst; 80 typedef typename Impl::DynInstPtr DynInstPtr; 81 typedef typename Impl::O3CPU O3CPU; 97 DefaultFetch<Impl> *fetch; 101 IcachePort(DefaultFetch<Impl> *_fetch, FullO3CPU<Impl>* _cp [all...] |
H A D | decode.hh | 60 template<class Impl> 64 // Typedefs from the Impl. 65 typedef typename Impl::O3CPU O3CPU; 66 typedef typename Impl::DynInstPtr DynInstPtr; 67 typedef typename Impl::CPUPol CPUPol; 98 ThreadStatus decodeStatus[Impl::MaxThreads]; 243 std::queue<DynInstPtr> insts[Impl::MaxThreads]; 246 std::queue<DynInstPtr> skidBuffer[Impl::MaxThreads]; 259 Stalls stalls[Impl::MaxThreads]; 289 Addr bdelayDoneSeqNum[Impl [all...] |
H A D | rob.hh | 61 template <class Impl> 65 //Typedefs from the Impl. 66 typedef typename Impl::O3CPU O3CPU; 67 typedef typename Impl::DynInstPtr DynInstPtr; 81 Status robStatus[Impl::MaxThreads]; 280 unsigned threadEntries[Impl::MaxThreads]; 283 unsigned maxEntries[Impl::MaxThreads]; 286 std::list<DynInstPtr> instList[Impl::MaxThreads]; 310 InstIt squashIt[Impl::MaxThreads]; 321 InstSeqNum squashedSeqNum[Impl [all...] |
H A D | decode_impl.hh | 61 template<class Impl> 62 DefaultDecode<Impl>::DefaultDecode(O3CPU *_cpu, DerivO3CPUParams *params) 71 if (decodeWidth > Impl::MaxWidth) 74 decodeWidth, static_cast<int>(Impl::MaxWidth)); 78 for (int tid = 0; tid < Impl::MaxThreads; tid++) { 87 template<class Impl> 89 DefaultDecode<Impl>::startupStage() 94 template<class Impl> 96 DefaultDecode<Impl>::clearStates(ThreadID tid) 102 template<class Impl> [all...] |
H A D | rename_impl.hh | 62 template <class Impl> 63 DefaultRename<Impl>::DefaultRename(O3CPU *_cpu, DerivO3CPUParams *params) 72 if (renameWidth > Impl::MaxWidth) 75 renameWidth, static_cast<int>(Impl::MaxWidth)); 79 for (uint32_t tid = 0; tid < Impl::MaxThreads; tid++) { 93 template <class Impl> 95 DefaultRename<Impl>::name() const 100 template <class Impl> 102 DefaultRename<Impl>::regStats() 205 template <class Impl> [all...] |
H A D | iew_impl.hh | 67 template<class Impl> 68 DefaultIEW<Impl>::DefaultIEW(O3CPU *_cpu, DerivO3CPUParams *params) 84 if (dispatchWidth > Impl::MaxWidth) 87 dispatchWidth, static_cast<int>(Impl::MaxWidth)); 88 if (issueWidth > Impl::MaxWidth) 91 issueWidth, static_cast<int>(Impl::MaxWidth)); 92 if (wbWidth > Impl::MaxWidth) 95 wbWidth, static_cast<int>(Impl::MaxWidth)); 107 for (ThreadID tid = 0; tid < Impl::MaxThreads; tid++) { 117 template <class Impl> [all...] |
H A D | lsq_unit_impl.hh | 63 template<class Impl> 64 LSQUnit<Impl>::WritebackEvent::WritebackEvent(const DynInstPtr &_inst, 73 template<class Impl> 75 LSQUnit<Impl>::WritebackEvent::process() 86 template<class Impl> 88 LSQUnit<Impl>::WritebackEvent::description() const 93 template <class Impl> 95 LSQUnit<Impl>::recvTimingResp(PacketPtr pkt) 111 template<class Impl> 113 LSQUnit<Impl> [all...] |
H A D | commit.hh | 83 template<class Impl> 87 // Typedefs from the Impl. 88 typedef typename Impl::O3CPU O3CPU; 89 typedef typename Impl::DynInstPtr DynInstPtr; 90 typedef typename Impl::CPUPol CPUPol; 103 typedef O3ThreadState<Impl> Thread; 129 ThreadStatus commitStatus[Impl::MaxThreads]; 182 void setRenameMap(RenameMap rm_ptr[Impl::MaxThreads]); 375 bool changedROBNumEntries[Impl::MaxThreads]; 378 bool trapSquash[Impl [all...] |
H A D | rename.hh | 69 template<class Impl> 73 // Typedefs from the Impl. 74 typedef typename Impl::CPUPol CPUPol; 75 typedef typename Impl::DynInstPtr DynInstPtr; 76 typedef typename Impl::O3CPU O3CPU; 119 ThreadStatus renameStatus[Impl::MaxThreads]; 179 void setRenameMap(RenameMap rm_ptr[Impl::MaxThreads]); 326 std::list<RenameHistory> historyBuffer[Impl::MaxThreads]; 356 InstQueue insts[Impl::MaxThreads]; 359 InstQueue skidBuffer[Impl [all...] |
H A D | commit_impl.hh | 74 template <class Impl> 76 DefaultCommit<Impl>::processTrapEvent(ThreadID tid) 83 template <class Impl> 84 DefaultCommit<Impl>::DefaultCommit(O3CPU *_cpu, DerivO3CPUParams *params) 100 if (commitWidth > Impl::MaxWidth) 103 commitWidth, static_cast<int>(Impl::MaxWidth)); 115 for (ThreadID tid = 0; tid < Impl::MaxThreads; tid++) { 132 template <class Impl> 134 DefaultCommit<Impl>::name() const 139 template <class Impl> [all...] |
H A D | fetch_impl.hh | 82 template<class Impl> 83 DefaultFetch<Impl>::DefaultFetch(O3CPU *_cpu, DerivO3CPUParams *params) 104 if (numThreads > Impl::MaxThreads) 107 numThreads, static_cast<int>(Impl::MaxThreads)); 108 if (fetchWidth > Impl::MaxWidth) 111 fetchWidth, static_cast<int>(Impl::MaxWidth)); 126 for (int i = 0; i < Impl::MaxThreads; i++) { 152 template <class Impl> 154 DefaultFetch<Impl>::name() const 159 template <class Impl> [all...] |
H A D | mem_dep_unit.hh | 66 template <class Impl> 80 template <class MemDepPred, class Impl> 87 typedef typename Impl::DynInstPtr DynInstPtr; 88 typedef typename Impl::DynInstConstPtr DynInstConstPtr; 118 void setIQ(InstructionQueue<Impl> *iq_ptr); 250 std::list<DynInstPtr> instList[Impl::MaxThreads]; 272 InstructionQueue<Impl> *iqPtr;
|
H A D | inst_queue.hh | 82 template <class Impl> 86 //Typedefs from the Impl. 87 typedef typename Impl::O3CPU O3CPU; 88 typedef typename Impl::DynInstPtr DynInstPtr; 90 typedef typename Impl::CPUPol::IEW IEW; 91 typedef typename Impl::CPUPol::MemDepUnit MemDepUnit; 92 typedef typename Impl::CPUPol::IssueStruct IssueStruct; 93 typedef typename Impl::CPUPol::TimeStruct TimeStruct; 108 InstructionQueue<Impl> *iqPtr; 118 InstructionQueue<Impl> *iq_pt [all...] |
/gem5/src/cpu/ |
H A D | base_dyn_inst_impl.hh | 61 template <class Impl> 62 BaseDynInst<Impl>::BaseDynInst(const StaticInstPtr &_staticInst, 82 template <class Impl> 83 BaseDynInst<Impl>::BaseDynInst(const StaticInstPtr &_staticInst, 91 template <class Impl> 93 BaseDynInst<Impl>::initVars() 142 template <class Impl> 143 BaseDynInst<Impl>::~BaseDynInst() 169 template <class Impl> 171 BaseDynInst<Impl> [all...] |
/gem5/src/base/ |
H A D | bitunion.hh | 115 using Impl = BitfieldTypeImpl<Base>; 116 using typename Impl::Type; 119 operator Type () const { return Impl::operator Type(); } 120 Type operator=(const Type val) { return Impl::operator=(val); } 124 return Impl::operator=(other); 133 using Impl = BitfieldTypeImpl<Base>; 134 using typename Impl::Type; 137 operator Type () const { return Impl::operator Type(); } 145 using Impl = BitfieldTypeImpl<Base>; 146 using typename Impl [all...] |