#endif /* CONFIG_HOTPLUG_CPU */
void
-smp_cpus_done (unsigned int dummy)
+smp_cpus_done(void)
{
int cpu;
unsigned long bogosum = 0;
local_irq_disable();
printk("Brought up %ld CPUs\n", (long)num_online_cpus());
- smp_cpus_done(max_cpus);
+ smp_cpus_done();
#endif
iommu_setup(); /* setup iommu if available */
/*
* Initialise higher-level timer functions. We do this fairly late
- * (post-SMP) because the time bases and scale factors need to be updated
- * regularly, and SMP initialisation can cause a long delay with
- * interrupts not yet enabled.
+ * (after interrupts got enabled) because the time bases and scale
+ * factors need to be updated regularly.
*/
init_xen_time();
}
printk("Brought up %ld CPUs\n", (long)num_online_cpus());
- smp_cpus_done(max_cpus);
+ smp_cpus_done();
do_initcalls();
}
-void __init smp_cpus_done(unsigned int max_cpus)
+void __init smp_cpus_done(void)
{
/*
* Don't taint if we are running SMP kernel on a single non-MP
disable_tsc_sync = 1;
}
-/* Late init function (after all CPUs are booted). */
+/* Late init function (after interrupts are enabled). */
int __init init_xen_time(void)
{
if ( boot_cpu_has(X86_FEATURE_TSC_RELIABLE) )
/*
* Final polishing of CPUs
*/
-extern void smp_cpus_done(unsigned int max_cpus);
+extern void smp_cpus_done(void);
/*
* Call a function on all other processors