From 191054338065cb52eb3db22332c5959d55ab5fd1 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Fri, 12 Jun 2020 11:44:02 +0900 Subject: [PATCH] armv8pmu_write_counter: sign-extend properly ihk_mc_event_set_period() calls armv8pmu_write_counter() by cpu_pmu.write_counter(..., (uint64_t)(-left) & max_period) Change-Id: I2ac8fbe5957db044ac54946f620163e3c486cb5f --- arch/arm64/kernel/perfctr_armv8pmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/kernel/perfctr_armv8pmu.c b/arch/arm64/kernel/perfctr_armv8pmu.c index 7a7b75c1..6ade41d9 100644 --- a/arch/arm64/kernel/perfctr_armv8pmu.c +++ b/arch/arm64/kernel/perfctr_armv8pmu.c @@ -590,7 +590,7 @@ static inline void armv8pmu_write_counter(int idx, uint32_t value) * count using the lower 32bits and we want an interrupt when * it overflows. */ - uint64_t value64 = 0xffffffff00000000ULL | value; + uint64_t value64 = (int32_t)value; write_sysreg(value64, pmccntr_el0); }