@@ -1066,6 +1066,48 @@ config ARM64_ERRATUM_3117295
10661066
10671067 If unsure, say Y.
10681068
1069+ config ARM64_WORKAROUND_SPECULATIVE_SSBS
1070+ bool
1071+
1072+ config ARM64_ERRATUM_3194386
1073+ bool "Cortex-X4: 3194386: workaround for MSR SSBS not self-synchronizing"
1074+ select ARM64_WORKAROUND_SPECULATIVE_SSBS
1075+ default y
1076+ help
1077+ This option adds the workaround for ARM Cortex-X4 erratum 3194386.
1078+
1079+ On affected cores "MSR SSBS, #0" instructions may not affect
1080+ subsequent speculative instructions, which may permit unexepected
1081+ speculative store bypassing.
1082+
1083+ Work around this problem by placing a speculation barrier after
1084+ kernel changes to SSBS. The presence of the SSBS special-purpose
1085+ register is hidden from hwcaps and EL0 reads of ID_AA64PFR1_EL1, such
1086+ that userspace will use the PR_SPEC_STORE_BYPASS prctl to change
1087+ SSBS.
1088+
1089+ If unsure, say Y.
1090+
1091+ config ARM64_ERRATUM_3312417
1092+ bool "Neoverse-V3: 3312417: workaround for MSR SSBS not self-synchronizing"
1093+ select ARM64_WORKAROUND_SPECULATIVE_SSBS
1094+ default y
1095+ help
1096+ This option adds the workaround for ARM Neoverse-V3 erratum 3312417.
1097+
1098+ On affected cores "MSR SSBS, #0" instructions may not affect
1099+ subsequent speculative instructions, which may permit unexepected
1100+ speculative store bypassing.
1101+
1102+ Work around this problem by placing a speculation barrier after
1103+ kernel changes to SSBS. The presence of the SSBS special-purpose
1104+ register is hidden from hwcaps and EL0 reads of ID_AA64PFR1_EL1, such
1105+ that userspace will use the PR_SPEC_STORE_BYPASS prctl to change
1106+ SSBS.
1107+
1108+ If unsure, say Y.
1109+
1110+
10691111config CAVIUM_ERRATUM_22375
10701112 bool "Cavium erratum 22375, 24313"
10711113 default y
0 commit comments