[issue869] SMP Panic: no local apic

Michael Neumann sinknull at crater.dragonflybsd.org
Wed Jan 23 01:03:53 PST 2008


Michael Neumann <mneumann at ntecs.de> added the comment:

Same problem on my laptop (HP Compaq 6710b, Core 2 Duo). I browsed through the
mp_machdep.c code and noticed that it has nothing to do with not finding the
local apic. The CPU itself is not detected as MP capable in mp_probe().
mptable_pass1() is never called in this situation, which leads to the wrong
panic ("no local apic").

Please change in platform/pc32/i386/machdep.c in function getmemsize() the line:

  mp_probe();

to

  if (mp_probe() == 0)
  {
    panic("CPU not detected as MP capable");
  }

This will give you a more appropriate error message, nothing more.

The whole problem arises because search_for_sig don't find a "_MP_" signature in
 memory. The relevant changes were introduced in FreeBSD in version 1.220 of
mp_machdep.c:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/i386/i386/mp_machdep.c?r=1.220

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<https://bugs.dragonflybsd.org/issue869>
_____________________________________________________





More information about the Bugs mailing list