arm64: perf: Treat EXCLUDE_EL* bit definitions as unsigned
authorWill Deacon <will.deacon@arm.com>
Thu, 13 Dec 2018 15:34:44 +0000 (15:34 +0000)
committerWill Deacon <will.deacon@arm.com>
Thu, 13 Dec 2018 15:34:44 +0000 (15:34 +0000)
Although the upper 32 bits of the PMEVTYPER<n>_EL0 registers are RES0,
we should treat the EXCLUDE_EL* bit definitions as unsigned so that we
avoid accidentally sign-extending the privilege filtering bit (bit 31)
into the upper half of the register.

Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/include/asm/perf_event.h

index c63e5e4fdccd282479cb8a1ca94c978e20d3d76a..c593761ba61cf3ba8fb36ffefaf82fc0bd9da040 100644 (file)
 /*
  * Event filters for PMUv3
  */
-#define        ARMV8_PMU_EXCLUDE_EL1   (1 << 31)
-#define        ARMV8_PMU_EXCLUDE_EL0   (1 << 30)
-#define        ARMV8_PMU_INCLUDE_EL2   (1 << 27)
+#define        ARMV8_PMU_EXCLUDE_EL1   (1U << 31)
+#define        ARMV8_PMU_EXCLUDE_EL0   (1U << 30)
+#define        ARMV8_PMU_INCLUDE_EL2   (1U << 27)
 
 /*
  * PMUSERENR: user enable reg