|
@@ -50,7 +50,8 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
|
|
|
void __init setup_smp(void)
|
|
|
{
|
|
|
struct device_node *dn = NULL;
|
|
|
- int hart, im_okay_therefore_i_am = 0;
|
|
|
+ int hart;
|
|
|
+ bool found_boot_cpu = false;
|
|
|
|
|
|
while ((dn = of_find_node_by_type(dn, "cpu"))) {
|
|
|
hart = riscv_of_processor_hartid(dn);
|
|
@@ -58,13 +59,13 @@ void __init setup_smp(void)
|
|
|
set_cpu_possible(hart, true);
|
|
|
set_cpu_present(hart, true);
|
|
|
if (hart == smp_processor_id()) {
|
|
|
- BUG_ON(im_okay_therefore_i_am);
|
|
|
- im_okay_therefore_i_am = 1;
|
|
|
+ BUG_ON(found_boot_cpu);
|
|
|
+ found_boot_cpu = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- BUG_ON(!im_okay_therefore_i_am);
|
|
|
+ BUG_ON(!found_boot_cpu);
|
|
|
}
|
|
|
|
|
|
int __cpu_up(unsigned int cpu, struct task_struct *tidle)
|