• Mark Rutland's avatar
    arm: perf: add macros for empty event mappings · 1113ff98
    Mark Rutland authored
    We currently map from userspace-ABI standard event numbers to
    hardware-specific IDs by use of two arrays, *_perf_map and
    *_perf_cache_map. While we use designated initializers to initialize the
    events we care about, zero is typically a valid hardware event number,
    and thus we have to explicitly initialize unsupported event mappings to a
    nonzero value ({HW,CACHE}_OP_UNSUPPORTED).
    
    In the case of the *_cache_map, this requires initialising almost every
    entry in a 3-dimensional array to CACHE_OP_UNSUPPORTED, requiring over a
    hundred lines to add eleven supported events in the case of Cortex A9.
    
    So as to take up less space and make the tables easier to deal with,
    this patch adds two new macros to initialize every entry in these tables
    to the *_UNSUPPORTED values. Supported events can be overridden
    individually through the use of designated initializers.
    Acked-by: default avatarWill Deacon <will.deacon@arm.com>
    Tested-by: default avatarChristopher Covington <cov@codeaurora.org>
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    1113ff98
pmu.h 3.98 KB