|
@@ -341,15 +341,17 @@ static bool has_ssbd_mitigation(const struct arm64_cpu_capabilities *entry,
|
|
|
|
|
|
|
|
WARN_ON(scope != SCOPE_LOCAL_CPU || preemptible());
|
|
WARN_ON(scope != SCOPE_LOCAL_CPU || preemptible());
|
|
|
|
|
|
|
|
|
|
+ /* delay setting __ssb_safe until we get a firmware response */
|
|
|
|
|
+ if (is_midr_in_range_list(read_cpuid_id(), entry->midr_range_list))
|
|
|
|
|
+ this_cpu_safe = true;
|
|
|
|
|
+
|
|
|
if (this_cpu_has_cap(ARM64_SSBS)) {
|
|
if (this_cpu_has_cap(ARM64_SSBS)) {
|
|
|
|
|
+ if (!this_cpu_safe)
|
|
|
|
|
+ __ssb_safe = false;
|
|
|
required = false;
|
|
required = false;
|
|
|
goto out_printmsg;
|
|
goto out_printmsg;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /* delay setting __ssb_safe until we get a firmware response */
|
|
|
|
|
- if (is_midr_in_range_list(read_cpuid_id(), entry->midr_range_list))
|
|
|
|
|
- this_cpu_safe = true;
|
|
|
|
|
-
|
|
|
|
|
if (psci_ops.smccc_version == SMCCC_VERSION_1_0) {
|
|
if (psci_ops.smccc_version == SMCCC_VERSION_1_0) {
|
|
|
ssbd_state = ARM64_SSBD_UNKNOWN;
|
|
ssbd_state = ARM64_SSBD_UNKNOWN;
|
|
|
if (!this_cpu_safe)
|
|
if (!this_cpu_safe)
|