Skip to content

Commit 91207f6

Browse files
Anshuman KhandualPeter Zijlstra
authored andcommitted
arm64/perf: Assert all platform event flags are within PERF_EVENT_FLAG_ARCH
Ensure all platform specific event flags are within PERF_EVENT_FLAG_ARCH. Signed-off-by: Anshuman Khandual <[email protected]> Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Reviewed-by: James Clark <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
1 parent f67dd21 commit 91207f6

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

drivers/perf/arm_spe_pmu.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@
4444
* This allows us to perform the check, i.e, perfmon_capable(),
4545
* in the context of the event owner, once, during the event_init().
4646
*/
47-
#define SPE_PMU_HW_FLAGS_CX BIT(0)
47+
#define SPE_PMU_HW_FLAGS_CX 0x00001
48+
49+
static_assert((PERF_EVENT_FLAG_ARCH & SPE_PMU_HW_FLAGS_CX) == SPE_PMU_HW_FLAGS_CX);
4850

4951
static void set_spe_event_has_cx(struct perf_event *event)
5052
{

include/linux/perf/arm_pmu.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@
2424
/*
2525
* ARM PMU hw_event flags
2626
*/
27-
/* Event uses a 64bit counter */
28-
#define ARMPMU_EVT_64BIT 1
29-
/* Event uses a 47bit counter */
30-
#define ARMPMU_EVT_47BIT 2
27+
#define ARMPMU_EVT_64BIT 0x00001 /* Event uses a 64bit counter */
28+
#define ARMPMU_EVT_47BIT 0x00002 /* Event uses a 47bit counter */
29+
30+
static_assert((PERF_EVENT_FLAG_ARCH & ARMPMU_EVT_64BIT) == ARMPMU_EVT_64BIT);
31+
static_assert((PERF_EVENT_FLAG_ARCH & ARMPMU_EVT_47BIT) == ARMPMU_EVT_47BIT);
3132

3233
#define HW_OP_UNSUPPORTED 0xFFFF
3334
#define C(_x) PERF_COUNT_HW_CACHE_##_x

0 commit comments

Comments
 (0)