Re: [PATCH v3 1/1] KVM: ARM64: Fix the issues when guest PMCCFILTR is configured
From: Marc Zyngier
Date: Thu Nov 17 2016 - 12:17:26 EST
On 17/11/16 13:30, Will Deacon wrote:
> On Wed, Nov 16, 2016 at 11:09:20AM -0600, Wei Huang wrote:
>> KVM calls kvm_pmu_set_counter_event_type() when PMCCFILTR is configured.
>> But this function can't deals with PMCCFILTR correctly because the evtCount
>> bits of PMCCFILTR, which is reserved 0, conflits with the SW_INCR event
>> type of other PMXEVTYPER<n> registers. To fix it, when eventsel == 0, this
>> function shouldn't return immediately; instead it needs to check further
>> if select_idx is ARMV8_PMU_CYCLE_IDX.
>>
>> Another issue is that KVM shouldn't copy the eventsel bits of PMCCFILTER
>> blindly to attr.config. Instead it ought to convert the request to the
>> "cpu cycle" event type (i.e. 0x11).
>>
>> To support this patch and to prevent duplicated definitions, a limited
>> set of ARMv8 perf event types were relocated from perf_event.c to
>> asm/perf_event.h.
>>
>> Signed-off-by: Wei Huang <wei@xxxxxxxxxx>
>> ---
>> arch/arm64/include/asm/perf_event.h | 10 +++++++++-
>> arch/arm64/kernel/perf_event.c | 10 +---------
>> virt/kvm/arm/pmu.c | 8 +++++---
>> 3 files changed, 15 insertions(+), 13 deletions(-)
>
> Acked-by: Will Deacon <will.deacon@xxxxxxx>
>
> I'm assuming this will go via kvm-arm.
Yup, I'll take it. Thanks.
M.
--
Jazz is not dead. It just smells funny...