arm64: errata: Unify speculative SSBS errata logic
Cortex-X4 erratum 3194386 and Neoverse-V3 erratum 3312417 are identical, with duplicate Kconfig text and some unsightly ifdeffery. While we try to share code behind CONFIG_ARM64_WORKAROUND_SPECULATIVE_SSBS, having separate options results in a fair amount of boilerplate code, and this will only get worse as we expand the set of affected CPUs. To reduce this boilerplate, unify the two behind a common Kconfig option. This removes the duplicate text and Kconfig logic, and removes the need for the intermediate ARM64_WORKAROUND_SPECULATIVE_SSBS option. The set of affected CPUs is described as a list so that this can easily be extended. I've used ARM64_ERRATUM_3194386 (matching the Neoverse-V3 erratum ID) as the common option, matching the way we use ARM64_ERRATUM_1319367 to cover Cortex-A57 erratum 1319537 and Cortex-A72 erratum 1319367. Signed-off-by:Mark Rutland <mark.rutland@arm.com> Cc: James Morse <james.morse@arm.com> Cc: Will Deacon <wilL@kernel.org> Link: https://lore.kernel.org/r/20240603111812.1514101-5-mark.rutland@arm.com Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
Showing
- Documentation/arch/arm64/silicon-errata.rst 1 addition, 1 deletionDocumentation/arch/arm64/silicon-errata.rst
- arch/arm64/Kconfig 4 additions, 25 deletionsarch/arm64/Kconfig
- arch/arm64/include/asm/cpucaps.h 1 addition, 1 deletionarch/arm64/include/asm/cpucaps.h
- arch/arm64/kernel/cpu_errata.c 2 additions, 6 deletionsarch/arm64/kernel/cpu_errata.c
- arch/arm64/kernel/proton-pack.c 1 addition, 1 deletionarch/arm64/kernel/proton-pack.c
Please register or sign in to comment