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);
|
||||
unsigned long flags;
|
||||
int err;
|
||||
|
||||
WARN_ON(irqs_disabled());
|
||||
|
||||
@ -850,6 +851,14 @@ int __cpuinit native_cpu_up(unsigned int cpu)
|
||||
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
|
||||
* (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));
|
||||
flush_tlb_all();
|
||||
|
||||
do_boot_cpu(apicid, cpu);
|
||||
|
||||
/* In case one didn't come up */
|
||||
if (!cpu_isset(cpu, cpu_callin_map)) {
|
||||
printk(KERN_DEBUG "skipping cpu%d, didn't come online\n", cpu);
|
||||
return -EIO;
|
||||
err = do_boot_cpu(apicid, cpu);
|
||||
if (err < 0) {
|
||||
Dprintk("do_boot_cpu failed %d\n", err);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Check TSC synchronization with the AP (keep irqs disabled
|
||||
* while doing so):
|
||||
|
Loading…
x
Reference in New Issue
Block a user