664a665 > unsigned int n; 687c688,690 < if (c->cpuid_level >= 0x80000008) { --- > n = cpuid_eax(0x80000000); > > if (n >= 0x80000008) { 698c701 < int cpu = c->x86_apicid; --- > int cpu = c->x86_apicid; // that is initial apicid 725,749c728,730 < index_lsb = 0; < 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 & 1) == 0) { < tmp >>=1 ; < index_lsb++; < } < tmp = smp_num_siblings; < while ((tmp & 0x80000000 ) == 0) { < tmp <<=1 ; < index_msb--; < } < if (index_lsb != index_msb ) < index_msb++; < phys_proc_id[cpu] = phys_pkg_id(index_msb); < --- > > phys_proc_id[cpu] = c->x86_apicid >> hweight32(c->x86_num_cores - 1); > 1067c1048 < seq_printf(m, "cpu cores\t: %d\n", c->x86_num_cores); --- > seq_printf(m, "\ncpu cores\t: %d\n", c->x86_num_cores);