diff --git a/kernel/cpu.c b/kernel/cpu.c index 89a8e7b9fdac26f4424bc8e5d3b5af8c0f8b1fbd..fdd911b306e0558350a179a848fe5b0525771964 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -432,6 +432,14 @@ static inline bool cpu_smt_allowed(unsigned int cpu) if (cpu_smt_control == CPU_SMT_ENABLED) return true; + /* All CPUs are bootable if controls are not configured */ + if (cpu_smt_control == CPU_SMT_NOT_IMPLEMENTED) + return true; + + /* All CPUs are bootable if CPU is not SMT capable */ + if (cpu_smt_control == CPU_SMT_NOT_SUPPORTED) + return true; + if (topology_is_primary_thread(cpu)) return true;