Re: 2.6.28-rc6: early panic with boot option "nosmp"

From: Wu Fengguang
Date: Thu Dec 04 2008 - 07:07:05 EST


On Thu, Dec 04, 2008 at 08:02:14PM +0800, Wu Fengguang wrote:
> On Thu, Dec 04, 2008 at 12:13:43PM +0200, Andi Kleen wrote:
> > On Thu, Dec 04, 2008 at 10:28:06AM +0800, Wu Fengguang wrote:
> > > Hi,
> > >
> > > The boot option "maxcpus=0" or "nosmp" makes kernel 2.6.28-rc6 panic
> > > immediately after booting:
> > >
> > > PANIC: early exception 0e rip 10:ffffffff8176d6ff error 0 cr2 9
> >
> > It would be useful if you could look the ffffffff8176d6ff
> > address up in your System.map or using gdb.
>
> addr2line -e vmlinux -f 0xffffffff8176d6ff
> __get_smp_config
> /cc/linux-2.6/arch/x86/kernel/mpparse.c:607
>
>
> 582 /*
> 583 * Scan the memory blocks for an SMP configuration block.
> 584 */
> 585 static void __init __get_smp_config(unsigned int early)
> 586 {
> 587 struct intel_mp_floating *mpf = mpf_found;
> 588
> 589 if (x86_quirks->mach_get_smp_config) {
> 590 if (x86_quirks->mach_get_smp_config(early))
> 591 return;
> 592 }
> 593 if (acpi_lapic && early)
> 594 return;
> 595 /*
> 596 * ACPI supports both logical (e.g. Hyper-Threading) and physical
> 597 * processors, where MPS only supports physical.
> 598 */
> 599 if (acpi_lapic && acpi_ioapic) {
> 600 printk(KERN_INFO "Using ACPI (MADT) for SMP configuration "
> 601 "information\n");
> 602 return;
> 603 } else if (acpi_lapic)
> 604 printk(KERN_INFO "Using ACPI for processor (LAPIC) "
> 605 "configuration information\n");
> 606
> 607 printk(KERN_INFO "Intel MultiProcessor Specification v1.%d\n",
> 608 mpf->mpf_specification);
>
> The exception raised on dereferencing mpf or mpf_found.

I just confirmed this with
early_printk("mpf=%p\n", mpf);
which shows mpf to be NULL.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/