|
@@ -346,6 +346,7 @@ smp_callin (void)
|
|
lock_ipi_calllock();
|
|
lock_ipi_calllock();
|
|
cpu_set(cpuid, cpu_online_map);
|
|
cpu_set(cpuid, cpu_online_map);
|
|
unlock_ipi_calllock();
|
|
unlock_ipi_calllock();
|
|
|
|
+ per_cpu(cpu_state, cpuid) = CPU_ONLINE;
|
|
|
|
|
|
smp_setup_percpu_timer();
|
|
smp_setup_percpu_timer();
|
|
|
|
|
|
@@ -611,6 +612,7 @@ void __devinit smp_prepare_boot_cpu(void)
|
|
{
|
|
{
|
|
cpu_set(smp_processor_id(), cpu_online_map);
|
|
cpu_set(smp_processor_id(), cpu_online_map);
|
|
cpu_set(smp_processor_id(), cpu_callin_map);
|
|
cpu_set(smp_processor_id(), cpu_callin_map);
|
|
|
|
+ per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -775,6 +777,7 @@ __cpu_up (unsigned int cpu)
|
|
if (cpu_isset(cpu, cpu_callin_map))
|
|
if (cpu_isset(cpu, cpu_callin_map))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
|
|
+ per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
|
|
/* Processor goes to start_secondary(), sets online flag */
|
|
/* Processor goes to start_secondary(), sets online flag */
|
|
ret = do_boot_cpu(sapicid, cpu);
|
|
ret = do_boot_cpu(sapicid, cpu);
|
|
if (ret < 0)
|
|
if (ret < 0)
|