bios_cpu_apicid[num_processors - 1] = m->mpc_apicid; 
if (m->mpc_cpuflag & CPU_BOOTPROCESSOR) { /* * bios_cpu_apicid is required to have processors listed * in same order as logical cpu numbers. Hence the first * entry is BSP, and so on. */ bios_cpu_apicid[0] = m->mpc_apicid; x86_cpu_to_apicid[0] = m->mpc_apicid; found_bsp = 1; } else { bios_cpu_apicid[num_processors - found_bsp] = m->mpc_apicid; x86_cpu_to_apicid[num_processors - found_bsp] = m->mpc_apicid; } 
static void __init MP_processor_info (struct mpc_config_processor *m){	int ver;	if (!(m->mpc_cpuflag & CPU_ENABLED))		return;	printk(KERN_INFO "Processor #%d %d:%d APIC version %d\n",		m->mpc_apicid,	       (m->mpc_cpufeature & CPU_FAMILY_MASK)>>8,	       (m->mpc_cpufeature & CPU_MODEL_MASK)>>4,		m->mpc_apicver);	if (m->mpc_cpuflag & CPU_BOOTPROCESSOR) {		Dprintk("    Bootup CPU\n");		boot_cpu_id = m->mpc_apicid;	}	if (num_processors >= NR_CPUS) {		printk(KERN_WARNING "WARNING: NR_CPUS limit of %i reached."			" Processor ignored.\n", NR_CPUS);		return;	}	if (num_processors >= maxcpus) {		printk(KERN_WARNING "WARNING: maxcpus limit of %i reached."			" Processor ignored.\n", maxcpus);		return;	}	num_processors++;	if (m->mpc_apicid > MAX_APICS) {		printk(KERN_ERR "Processor #%d INVALID. (Max ID: %d).\n",			m->mpc_apicid, MAX_APICS);		return;	}	ver = m->mpc_apicver;	physid_set(m->mpc_apicid, phys_cpu_present_map);	/*	 * Validate version	 */	if (ver == 0x0) {		printk(KERN_ERR "BIOS bug, APIC version is 0 for CPU#%d! fixing up to 0x10. (tell your hw vendor)\n", m->mpc_apicid);		ver = 0x10;	}	apic_version[m->mpc_apicid] = ver;	bios_cpu_apicid[num_processors - 1] = m->mpc_apicid;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/18a2b6471277c9ffbaa14a0c87a11a075eb354bd/mpparse.c/buggy/arch/x86_64/kernel/mpparse.c