Hi, I'm not sure I should file a bug report since I got the impression the SMP initialization code is not perfect and there could be a workaround.
Anyway, I just got a panic with a recent i386 SMP kernel (GENERIC + options SMP and APIC_IO) on a Xeon Nehalem box. The machine is based on a Supermicro X8DTL-iF mainboard http://www.supermicro.nl/products/motherboard/QPI/5500/X8DTL-iF.cfm with a single Xeon Nehalem E5530 (4 physical cores, 8 execution contexts) and 12 GB memory. I have copied the relevant part of the panic message: DragonFly/MP: Multiprocessor motherboard cpu0 (BSP): apic id: 16, version 0x00060015 cpu1 (AP) : apic id: 18, version 0x00060015 cpu2 (AP) : apic id: 20, version 0x00060015 cpu3 (AP) : apic id: 22, version 0x00060015 cpu4 (AP) : apic id: 17, version 0x00060015 cpu5 (AP) : apic id: 19, version 0x00060015 cpu6 (AP) : apic id: 21, version 0x00060015 cpu7 (AP) : apic id: 23, version 0x00060015 io0 (APIC): apic id: 2, version 0x00170020, at 0xfec00000 io0 (APIC): apic id: 4, version 0x00170020, at 0xfec8a000 APIC_IO: Testing 8254 interrupt delivery APIC_IO: Testing 8254 via IOAPIC#0 intpin 2 SMP: AP CPU #4 Launched! SMP: cpuid = 4 SMP: apic_id = -1 PTD[MPPTDI] = 0x8de023 panic: cpuid mismatch! boom!! mp_lock = 00000004; cpuid = 4 -- Francois Tigeot