cpu, c->x86_num_cores, node, cpu_core_id[cpu]); 
cpu, c->x86_max_cores, node, cpu_core_id[cpu]); 
static void __init amd_detect_cmp(struct cpuinfo_x86 *c){#ifdef CONFIG_SMP	int cpu = smp_processor_id();	unsigned bits;#ifdef CONFIG_NUMA	int node = 0;	unsigned apicid = phys_proc_id[cpu];#endif	bits = 0;	while ((1 << bits) < c->x86_num_cores)		bits++;	/* Low order bits define the core id (index of core in socket) */	cpu_core_id[cpu] = phys_proc_id[cpu] & ((1 << bits)-1);	/* Convert the APIC ID into the socket ID */	phys_proc_id[cpu] >>= bits;#ifdef CONFIG_NUMA  	node = phys_proc_id[cpu]; 	if (apicid_to_node[apicid] != NUMA_NO_NODE) 		node = apicid_to_node[apicid]; 	if (!node_online(node)) { 		/* Two possibilities here: 		   - The CPU is missing memory and no node was created. 		   In that case try picking one from a nearby CPU 		   - The APIC IDs differ from the HyperTransport node IDs 		   which the K8 northbridge parsing fills in. 		   Assume they are all increased by a constant offset, 		   but in the same order as the HT nodeids. 		   If that doesn't result in a usable node fall back to the 		   path for the previous case.  */ 		int ht_nodeid = apicid - (phys_proc_id[0] << bits); 		if (ht_nodeid >= 0 && 		    apicid_to_node[ht_nodeid] != NUMA_NO_NODE) 			node = apicid_to_node[ht_nodeid]; 		/* Pick a nearby node */ 		if (!node_online(node)) 			node = nearby_node(apicid); 	}	numa_set_node(cpu, node);  	printk(KERN_INFO "CPU %d(%d) -> Node %d -> Core %d\n",  			cpu, c->x86_num_cores, node, cpu_core_id[cpu]);#endif#endif}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/94605eff572b727aaad9b4b29bc358b919096503/setup.c/clean/arch/x86_64/kernel/setup.c