x86: add callin tests to cpu_up
Now that we boot cpus here, callin_map has this meaning (same as x86_64) Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
0717826927
commit
b9f9294a86
@ -839,6 +839,7 @@ int __cpuinit native_cpu_up(unsigned int cpu)
|
|||||||
{
|
{
|
||||||
int apicid = cpu_present_to_apicid(cpu);
|
int apicid = cpu_present_to_apicid(cpu);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
int err;
|
||||||
|
|
||||||
WARN_ON(irqs_disabled());
|
WARN_ON(irqs_disabled());
|
||||||
|
|
||||||
@ -850,6 +851,14 @@ int __cpuinit native_cpu_up(unsigned int cpu)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Already booted CPU?
|
||||||
|
*/
|
||||||
|
if (cpu_isset(cpu, cpu_callin_map)) {
|
||||||
|
Dprintk("do_boot_cpu %d Already started\n", cpu);
|
||||||
|
return -ENOSYS;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Save current MTRR state in case it was changed since early boot
|
* Save current MTRR state in case it was changed since early boot
|
||||||
* (e.g. by the ACPI SMI) to initialize new CPUs with MTRRs in sync:
|
* (e.g. by the ACPI SMI) to initialize new CPUs with MTRRs in sync:
|
||||||
@ -863,15 +872,12 @@ int __cpuinit native_cpu_up(unsigned int cpu)
|
|||||||
min_t(unsigned long, KERNEL_PGD_PTRS, USER_PGD_PTRS));
|
min_t(unsigned long, KERNEL_PGD_PTRS, USER_PGD_PTRS));
|
||||||
flush_tlb_all();
|
flush_tlb_all();
|
||||||
|
|
||||||
do_boot_cpu(apicid, cpu);
|
err = do_boot_cpu(apicid, cpu);
|
||||||
|
if (err < 0) {
|
||||||
/* In case one didn't come up */
|
Dprintk("do_boot_cpu failed %d\n", err);
|
||||||
if (!cpu_isset(cpu, cpu_callin_map)) {
|
return err;
|
||||||
printk(KERN_DEBUG "skipping cpu%d, didn't come online\n", cpu);
|
|
||||||
return -EIO;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check TSC synchronization with the AP (keep irqs disabled
|
* Check TSC synchronization with the AP (keep irqs disabled
|
||||||
* while doing so):
|
* while doing so):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user