cpu: MinorCPU not updating cycle counter value
By not updating the cycle counter value for every tick in the MinorCPU meant that a read to the associated performance counter was always returning 0. For more info check the following email thread in gem5-users: https://www.mail-archive.com/gem5-users@gem5.org/msg18742.html Change-Id: Ibc033b536669cbb43d40c8a7c0659eb5565bdf93 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38095 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Gabe Black <gabe.black@gmail.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2014 ARM Limited
|
||||
* Copyright (c) 2012-2014, 2020 ARM Limited
|
||||
* All rights reserved
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
@@ -181,6 +181,12 @@ class MinorCPU : public BaseCPU
|
||||
return prio_list;
|
||||
}
|
||||
|
||||
/** The tick method in the MinorCPU is simply updating the cycle
|
||||
* counters as the ticking of the pipeline stages is already
|
||||
* handled by the Pipeline object.
|
||||
*/
|
||||
void tick() { updateCycleCounters(BaseCPU::CPU_STATE_ON); }
|
||||
|
||||
/** Interface for stages to signal that they have become active after
|
||||
* a callback or eventq event where the pipeline itself may have
|
||||
* already been idled. The stage argument should be from the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2014 ARM Limited
|
||||
* Copyright (c) 2013-2014, 2020 ARM Limited
|
||||
* All rights reserved
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
@@ -121,6 +121,9 @@ Pipeline::minorTrace() const
|
||||
void
|
||||
Pipeline::evaluate()
|
||||
{
|
||||
/** We tick the CPU to update the BaseCPU cycle counters */
|
||||
cpu.tick();
|
||||
|
||||
/* Note that it's important to evaluate the stages in order to allow
|
||||
* 'immediate', 0-time-offset TimeBuffer activity to be visible from
|
||||
* later stages to earlier ones in the same cycle */
|
||||
|
||||
Reference in New Issue
Block a user