/* Cycle through the APs sending Wakeup IPIs to boot each.  */
void __init smp_prepare_cpus(unsigned int max_cpus)
/* Cycle through the APs sending Wakeup IPIs to boot each.  */
void __init smp_prepare_cpus(unsigned int max_cpus)
{
	int boot_cpu_id = hard_smp_processor_id();
	smp_setup_percpu_timer();
	cpu_set(0, cpu_online_map);
	cpu_set(0, cpu_callin_map);
	local_cpu_data->loops_per_jiffy = loops_per_jiffy;
	ia64_cpu_to_sapicid[0] = boot_cpu_id;
	printk(KERN_INFO "Boot processor id 0x%x/0x%x\n", 0, boot_cpu_id);
	current_thread_info()->cpu = 0;
	if (!max_cpus) {
		printk(KERN_INFO "SMP mode deactivated.\n");
		init_cpu_online(cpumask_of(0));
		init_cpu_present(cpumask_of(0));
		init_cpu_possible(cpumask_of(0));
		return;
	}
}