This had been using a custom totalInsts method on the iris
ThreadContext, but since that's equivalent to what the totalInsts
method does only through a different mechanism, we can
drop that and use getCurrentInstCount instead.
Change-Id: I058fec13e81f28285281e136635d53a2e849cb47
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22112
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
return pcState().nextInstAddr();
}
-Counter
-ArmThreadContext::totalInsts()
-{
- iris::ResourceReadResult result;
- call().resource_read(_instId, result, icountRscId);
- return result.data.at(0);
-}
-
uint64_t
ArmThreadContext::readIntReg(RegIndex reg_idx) const
{
ResourceIds intReg32Ids;
ResourceIds intReg64Ids;
- Counter totalInsts() override;
-
void setIntReg(RegIndex reg_idx, RegVal val) override;
RegVal readIntReg(RegIndex reg_idx) const override;
TheISA::ISA *
BaseCPU::totalInsts() const
{
Counter count = 0;
- for (auto *tc: threadContexts) {
- auto *itc = dynamic_cast<Iris::ThreadContext *>(tc);
- count += itc->totalInsts();
- }
+ for (auto *tc: threadContexts)
+ count += tc->getCurrentInstCount();
return count;
}
void descheduleInstCountEvent(Event *event) override {}
Tick getCurrentInstCount() override;
- virtual Counter
- totalInsts()
- {
- panic("%s not implemented.", __FUNCTION__);
- }
-
::BaseCPU *getCpuPtr() override { return _cpu; }
int cpuId() const override { return _cpu->cpuId(); }
uint32_t socketId() const override { return _cpu->socketId(); }