• Catalin Marinas's avatar
    arm64: Use static keys for CPU features · efd9e03f
    Catalin Marinas authored
    This patch adds static keys transparently for all the cpu_hwcaps
    features by implementing an array of default-false static keys and
    enabling them when detected. The cpus_have_cap() check uses the static
    keys if the feature being checked is a constant, otherwise the compiler
    generates the bitmap test.
    
    Because of the early call to static_branch_enable() via
    check_local_cpu_errata() -> update_cpu_capabilities(), the jump labels
    are initialised in cpuinfo_store_boot_cpu().
    
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Suzuki K. Poulose <Suzuki.Poulose@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    efd9e03f
cpufeature.c 35.5 KB