Signed-off-by: Jan Beulich --- a/xen/arch/ia64/linux-xen/smpboot.c +++ b/xen/arch/ia64/linux-xen/smpboot.c @@ -770,7 +770,7 @@ void __cpu_die(unsigned int cpu) #endif /* CONFIG_HOTPLUG_CPU */ void -smp_cpus_done (unsigned int dummy) +smp_cpus_done(void) { int cpu; unsigned long bogosum = 0; --- a/xen/arch/ia64/xen/xensetup.c +++ b/xen/arch/ia64/xen/xensetup.c @@ -615,7 +615,7 @@ printk("num_online_cpus=%d, max_cpus=%d\ 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 */ --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1226,9 +1226,8 @@ void __init __start_xen(unsigned long mb /* * 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(); @@ -1254,7 +1253,7 @@ void __init __start_xen(unsigned long mb } printk("Brought up %ld CPUs\n", (long)num_online_cpus()); - smp_cpus_done(max_cpus); + smp_cpus_done(); do_initcalls(); --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -966,7 +966,7 @@ int __cpu_up(unsigned int cpu) } -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 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -1445,7 +1445,7 @@ static void __init tsc_check_writability 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) ) --- a/xen/include/xen/smp.h +++ b/xen/include/xen/smp.h @@ -23,7 +23,7 @@ extern void smp_prepare_cpus(unsigned in /* * 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