• Mark Brown's avatar
    arm64/cpufeature: Use helper macro to specify ID register for capabilites · 863da0bd
    Mark Brown authored
    When defining which value to look for in a system register field we
    currently manually specify the register, field shift, width and sign and
    the value to look for. This opens the potential for error with for example
    the wrong field width or sign being specified, an enumeration value for
    a different similarly named field or letting something be initialised to 0.
    
    Since we now generate defines for all the ID registers we now have named
    constants for all of these things generated from the system register
    description, meaning that we can generate initialisation for all the fields
    used in matching from a minimal specification of register, field and match
    value. This is both shorter and eliminates or makes build failures several
    potential errors.
    
    No change in the generated binary.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20230303-arm64-cpufeature-helpers-v2-3-4c8f28a6f203@kernel.org
    [will: Drop explicit '.sign' assignment for BTI feature]
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    863da0bd
cpufeature.c 116 KB