cpu.cc (14194:967b9c450b04) | cpu.cc (14195:c5efdb3319aa) |
---|---|
1/* 2 * Copyright (c) 2011-2012, 2014, 2016, 2017, 2019 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 76 unchanged lines hidden (view full) --- 85} 86 87void 88BaseO3CPU::regStats() 89{ 90 BaseCPU::regStats(); 91} 92 | 1/* 2 * Copyright (c) 2011-2012, 2014, 2016, 2017, 2019 ARM Limited 3 * Copyright (c) 2013 Advanced Micro Devices, Inc. 4 * All rights reserved 5 * 6 * The license below extends only to copyright in the software and shall 7 * not be construed as granting a license to any other intellectual 8 * property including but not limited to intellectual property relating --- 76 unchanged lines hidden (view full) --- 85} 86 87void 88BaseO3CPU::regStats() 89{ 90 BaseCPU::regStats(); 91} 92 |
93template<class Impl> 94bool 95FullO3CPU<Impl>::IcachePort::recvTimingResp(PacketPtr pkt) 96{ 97 DPRINTF(O3CPU, "Fetch unit received timing\n"); 98 // We shouldn't ever get a cacheable block in Modified state 99 assert(pkt->req->isUncacheable() || 100 !(pkt->cacheResponding() && !pkt->hasSharers())); 101 fetch->processCacheCompletion(pkt); 102 103 return true; 104} 105 106template<class Impl> 107void 108FullO3CPU<Impl>::IcachePort::recvReqRetry() 109{ 110 fetch->recvReqRetry(); 111} 112 | |
113template <class Impl> 114FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) 115 : BaseO3CPU(params), 116 itb(params->itb), 117 dtb(params->dtb), 118 tickEvent([this]{ tick(); }, "FullO3CPU tick", 119 false, Event::CPU_Tick_Pri), 120 threadExitEvent([this]{ exitThreads(); }, "FullO3CPU exit threads", --- 22 unchanged lines hidden (view full) --- 143 144 rob(this, params), 145 146 scoreboard(name() + ".scoreboard", 147 regFile.totalNumPhysRegs()), 148 149 isa(numThreads, NULL), 150 | 93template <class Impl> 94FullO3CPU<Impl>::FullO3CPU(DerivO3CPUParams *params) 95 : BaseO3CPU(params), 96 itb(params->itb), 97 dtb(params->dtb), 98 tickEvent([this]{ tick(); }, "FullO3CPU tick", 99 false, Event::CPU_Tick_Pri), 100 threadExitEvent([this]{ exitThreads(); }, "FullO3CPU exit threads", --- 22 unchanged lines hidden (view full) --- 123 124 rob(this, params), 125 126 scoreboard(name() + ".scoreboard", 127 regFile.totalNumPhysRegs()), 128 129 isa(numThreads, NULL), 130 |
151 icachePort(&fetch, this), 152 | |
153 timeBuffer(params->backComSize, params->forwardComSize), 154 fetchQueue(params->backComSize, params->forwardComSize), 155 decodeQueue(params->backComSize, params->forwardComSize), 156 renameQueue(params->backComSize, params->forwardComSize), 157 iewQueue(params->backComSize, params->forwardComSize), 158 activityRec(name(), NumStages, 159 params->backComSize + params->forwardComSize, 160 params->activity), --- 6 unchanged lines hidden (view full) --- 167 _status = Running; 168 } else { 169 _status = SwitchedOut; 170 } 171 172 if (params->checker) { 173 BaseCPU *temp_checker = params->checker; 174 checker = dynamic_cast<Checker<Impl> *>(temp_checker); | 131 timeBuffer(params->backComSize, params->forwardComSize), 132 fetchQueue(params->backComSize, params->forwardComSize), 133 decodeQueue(params->backComSize, params->forwardComSize), 134 renameQueue(params->backComSize, params->forwardComSize), 135 iewQueue(params->backComSize, params->forwardComSize), 136 activityRec(name(), NumStages, 137 params->backComSize + params->forwardComSize, 138 params->activity), --- 6 unchanged lines hidden (view full) --- 145 _status = Running; 146 } else { 147 _status = SwitchedOut; 148 } 149 150 if (params->checker) { 151 BaseCPU *temp_checker = params->checker; 152 checker = dynamic_cast<Checker<Impl> *>(temp_checker); |
175 checker->setIcachePort(&icachePort); | 153 checker->setIcachePort(&this->fetch.getInstPort()); |
176 checker->setSystem(params->system); 177 } else { 178 checker = NULL; 179 } 180 181 if (!FullSystem) { 182 thread.resize(numThreads); 183 tids.resize(numThreads); --- 1675 unchanged lines hidden --- | 154 checker->setSystem(params->system); 155 } else { 156 checker = NULL; 157 } 158 159 if (!FullSystem) { 160 thread.resize(numThreads); 161 tids.resize(numThreads); --- 1675 unchanged lines hidden --- |