diff -pruN 2.6.8.1-mm4/arch/x86_64/kernel/setup.c w8.1m4/arch/x86_64/kernel/setup.c --- 2.6.8.1-mm4/arch/x86_64/kernel/setup.c 2004-08-25 14:48:21.000000000 -0700 +++ w8.1m4/arch/x86_64/kernel/setup.c 2004-09-02 15:51:55.000000000 -0700 @@ -724,7 +724,7 @@ static void __init detect_ht(struct cpui } if (index_lsb != index_msb ) index_msb++; - initial_apic_id = ebx >> 24 & 0xff; + initial_apic_id = hard_smp_processor_id(); phys_proc_id[cpu] = initial_apic_id >> index_msb; printk(KERN_INFO "CPU: Physical Processor ID: %d\n",