[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] target/arm: Don't clear supported PMU events wh
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH] target/arm: Don't clear supported PMU events when initializing PMCEID1 |
Date: |
Wed, 23 Jan 2019 15:42:05 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 |
On 1/23/19 11:59 AM, Aaron Lindsay OS wrote:
> A bug was introduced during a respin of:
>
> commit 57a4a11b2b281bb548b419ca81bfafb214e4c77a
> target/arm: Add array for supported PMU events, generate PMCEID[01]_EL0
>
> This patch introduced two calls to get_pmceid() during CPU
> initialization - one each for PMCEID0 and PMCEID1. In addition to
> building the register values, get_pmceid() clears an internal array
> mapping event numbers to their implementations (supported_event_map)
> before rebuilding it. This is an optimization since much of the logic is
> shared. However, since it was called twice, the contents of
> supported_event_map reflect only the events in PMCEID1 (the second call
> to get_pmceid()).
>
> Fix this bug by moving the initialization of PMCEID0 and PMCEID1 back
> into a single function call, and name it more appropriately since it is
> doing more than simply generating the contents of the PMCEID[01]
> registers.
>
> Signed-off-by: Aaron Lindsay <address@hidden>
> ---
> target/arm/cpu.c | 3 +--
> target/arm/cpu.h | 11 +++++------
> target/arm/helper.c | 27 ++++++++++++++++-----------
> 3 files changed, 22 insertions(+), 19 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
r~