tmp = smp_num_siblings; index_msb = 31; while ((tmp & 0x80000000) == 0) { tmp <<=1 ; index_msb--; } if (smp_num_siblings & (smp_num_siblings - 1)) index_msb++; 
index_msb = get_count_order(smp_num_siblings) ; 
static void __cpuinit detect_ht(struct cpuinfo_x86 *c){#ifdef CONFIG_SMP	u32 	eax, ebx, ecx, edx;	int 	index_msb, tmp;	int 	cpu = smp_processor_id();		if (!cpu_has(c, X86_FEATURE_HT) || cpu_has(c, X86_FEATURE_CMP_LEGACY))		return;	cpuid(1, &eax, &ebx, &ecx, &edx);	smp_num_siblings = (ebx & 0xff0000) >> 16;		if (smp_num_siblings == 1) {		printk(KERN_INFO  "CPU: Hyper-Threading is disabled\n");	} else if (smp_num_siblings > 1) {		index_msb = 31;		/*		 * At this point we only support two siblings per		 * processor package.		 */		if (smp_num_siblings > NR_CPUS) {			printk(KERN_WARNING "CPU: Unsupported number of the siblings %d", smp_num_siblings);			smp_num_siblings = 1;			return;		}		tmp = smp_num_siblings;		while ((tmp & 0x80000000 ) == 0) {			tmp <<=1 ;			index_msb--;		}		if (smp_num_siblings & (smp_num_siblings - 1))			index_msb++;		phys_proc_id[cpu] = phys_pkg_id(index_msb);				printk(KERN_INFO  "CPU: Physical Processor ID: %d\n",		       phys_proc_id[cpu]);		smp_num_siblings = smp_num_siblings / c->x86_num_cores;		tmp = smp_num_siblings;		index_msb = 31;		while ((tmp & 0x80000000) == 0) {			tmp <<=1 ;			index_msb--;		}		if (smp_num_siblings & (smp_num_siblings - 1))			index_msb++;		cpu_core_id[cpu] = phys_pkg_id(index_msb);		if (c->x86_num_cores > 1)			printk(KERN_INFO  "CPU: Processor Core ID: %d\n",			       cpu_core_id[cpu]);	}#endif}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/94605eff572b727aaad9b4b29bc358b919096503/setup.c/buggy/arch/x86_64/kernel/setup.c