diff -purN -X /home/mbligh/.diff.exclude 630-lockmeter_notsc/arch/i386/kernel/smpboot.c 640-smp_boot_id/arch/i386/kernel/smpboot.c
--- 630-lockmeter_notsc/arch/i386/kernel/smpboot.c	2004-02-28 11:16:12.000000000 -0800
+++ 640-smp_boot_id/arch/i386/kernel/smpboot.c	2004-02-28 11:22:20.000000000 -0800
@@ -949,6 +949,7 @@ static void __init smp_boot_cpus(unsigne
 	printk("CPU%d: ", 0);
 	print_cpu_info(&cpu_data[0]);
 
+	boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID));
 	boot_cpu_logical_apicid = logical_smp_processor_id();
 
 	current_thread_info()->cpu = 0;
@@ -1011,8 +1012,6 @@ static void __init smp_boot_cpus(unsigne
 	setup_local_APIC();
 	map_cpu_to_logical_apicid();
 
-	if (GET_APIC_ID(apic_read(APIC_ID)) != boot_cpu_physical_apicid)
-		BUG();
 
 	setup_portio_remap();