/* This only works at boot for x86.  See "rewrite" above. */ if (cpu_isset(cpu, smp_commenced_mask)) { local_irq_enable(); return -ENOSYS; 
int err; int apicid = cpu_present_to_apicid(cpu);  WARN_ON(irqs_disabled());  Dprintk("++++++++++++++++++++=_---CPU UP  %u\n", cpu);  if (apicid == BAD_APICID || apicid == boot_cpu_id || !physid_isset(apicid, phys_cpu_present_map)) { printk("__cpu_up: bad cpu %d\n", cpu); return -EINVAL; } sync_tsc_bp_init(1);  /* Boot it! */ err = do_boot_cpu(cpu, apicid); if (err < 0) { sync_tsc_bp_init(0); Dprintk("do_boot_cpu failed %d\n", err); return err; 
int __devinit __cpu_up(unsigned int cpu){	/* This only works at boot for x86.  See "rewrite" above. */	if (cpu_isset(cpu, smp_commenced_mask)) {		local_irq_enable();		return -ENOSYS;	}	/* In case one didn't come up */	if (!cpu_isset(cpu, cpu_callin_map)) {		local_irq_enable();		return -EIO;	}	local_irq_enable();	/* Unleash the CPU! */	Dprintk("waiting for cpu %d\n", cpu);	cpu_set(cpu, smp_commenced_mask);	while (!cpu_isset(cpu, cpu_online_map))		mb();	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a8ab26fe5bfeef43bdcde5182ca051ae0647607e/smpboot.c/clean/arch/x86_64/kernel/smpboot.c