Message ID | 1521232280-13089-18-git-send-email-alindsay@codeaurora.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 16 March 2018 at 20:31, Aaron Lindsay <alindsay@codeaurora.org> wrote: > Signed-off-by: Aaron Lindsay <alindsay@codeaurora.org> > Reviewed-by: Peter Maydell <peter.maydell@linaro.org> > --- > target/arm/helper.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/target/arm/helper.c b/target/arm/helper.c > index f5e800e..2073d56 100644 > --- a/target/arm/helper.c > +++ b/target/arm/helper.c > @@ -1009,17 +1009,22 @@ static CPAccessResult pmreg_access_ccntr(CPUARMState *env, > return pmreg_access(env, ri, isread); > } > > -static inline bool arm_ccnt_enabled(CPUARMState *env) > +static inline bool pmu_counter_enabled(CPUARMState *env, uint8_t counter) > { > /* Does not check PMCCFILTR_EL0, which is handled by pmu_counter_filtered */ > - > - if (!(env->cp15.c9_pmcr & PMCRE) || !(env->cp15.c9_pmcnten & (1 << 31))) { > + if (!(env->cp15.c9_pmcr & PMCRE) || > + !(env->cp15.c9_pmcnten & (1 << counter))) { > return false; > } > > return true; > } > > +static inline bool arm_ccnt_enabled(CPUARMState *env) > +{ > + return pmu_counter_enabled(env, 31); > +} We only use arm_ccnt_enabled() in a couple of places, so I would just make those callsites use pmu_counter_enabled(env, 31) directly. thanks -- PMM
diff --git a/target/arm/helper.c b/target/arm/helper.c index f5e800e..2073d56 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -1009,17 +1009,22 @@ static CPAccessResult pmreg_access_ccntr(CPUARMState *env, return pmreg_access(env, ri, isread); } -static inline bool arm_ccnt_enabled(CPUARMState *env) +static inline bool pmu_counter_enabled(CPUARMState *env, uint8_t counter) { /* Does not check PMCCFILTR_EL0, which is handled by pmu_counter_filtered */ - - if (!(env->cp15.c9_pmcr & PMCRE) || !(env->cp15.c9_pmcnten & (1 << 31))) { + if (!(env->cp15.c9_pmcr & PMCRE) || + !(env->cp15.c9_pmcnten & (1 << counter))) { return false; } return true; } +static inline bool arm_ccnt_enabled(CPUARMState *env) +{ + return pmu_counter_enabled(env, 31); +} + /* Returns true if the counter corresponding to the passed-in pmevtyper or * pmccfiltr value is filtered using the current state */ static inline bool pmu_counter_filtered(CPUARMState *env, uint64_t pmxevtyper)