Commit ed888cb0 authored by Marc Zyngier's avatar Marc Zyngier Committed by Catalin Marinas

arm64: Allow CPUs unffected by ARM erratum 1418040 to come in late

Now that we allow CPUs affected by erratum 1418040 to come in late,
this prevents their unaffected sibblings from coming in late (or
coming back after a suspend or hotplug-off, which amounts to the
same thing).

To allow this, we need to add ARM64_CPUCAP_OPTIONAL_FOR_LATE_CPU,
which amounts to set .type to ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE.

Fixes: bf87bb08 ("arm64: Allow booting of late CPUs affected by erratum 1418040")
Reported-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Tested-by: default avatarSai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
Tested-by: default avatarMatthias Kaehlcke <mka@chromium.org>
Acked-by: default avatarWill Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20200911181611.2073183-1-maz@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent e0328fed
...@@ -910,8 +910,12 @@ const struct arm64_cpu_capabilities arm64_errata[] = { ...@@ -910,8 +910,12 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
.desc = "ARM erratum 1418040", .desc = "ARM erratum 1418040",
.capability = ARM64_WORKAROUND_1418040, .capability = ARM64_WORKAROUND_1418040,
ERRATA_MIDR_RANGE_LIST(erratum_1418040_list), ERRATA_MIDR_RANGE_LIST(erratum_1418040_list),
.type = (ARM64_CPUCAP_SCOPE_LOCAL_CPU | /*
ARM64_CPUCAP_PERMITTED_FOR_LATE_CPU), * We need to allow affected CPUs to come in late, but
* also need the non-affected CPUs to be able to come
* in at any point in time. Wonderful.
*/
.type = ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE,
}, },
#endif #endif
#ifdef CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT #ifdef CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment