amd64/120202: [panic] kernel panic at start_all_aps, AP not starts

FUCHIGAMI Masachika masatic at mbs.sphere.ne.jp
Fri Feb 15 05:53:55 PST 2008


"John Baldwin " said:
jhb>> Removing the wait seems very odd, the pending status should still be there 
jhb>> even if we wait.  However, this particular IPI is only for older CPUs anyway.  
jhb>> Try this patch instead perhaps:

Thank you for your help, but that patch does not work.
"panic: AP #1 (PHY# 1) failed!" is displayed.


(MP init/start chart on athlon64x2 I understand -- correct?)

 BSP  LAPIC0     LAPIC1   AP
   |    |          |       |
   |    |          |       |
 send   |          |       |
 INIT-->|--INIT--->|       |  (init assert then deassert)
  IPI  set pend.   |       |
   |    |<--ACK----|-INIT->|
   |  clear        |     JUMP to
   |  pend.        |     reset vector
 Wait   |          |       |
 10ms   |          |     <BIOS code>-+
   |    |          |     | |         |
   |    |          |     | *** something wrong occurs in my box???
 Check  |          |     | |         |
 pend.  |          |     |Halt loop  |
   |    |          |     +-:---------+
 send-->|--SIPI--->|       :
 SIPI  set pend.   |----->Wake up and
   |    |<--ACK----|      Jump to trampoline
   |  clear        |       |
   |   pend.       |       |
 Check  |          |       |
 pend.  |          |       |
   |    |          |       |
 Wait   |          |       |
 200us  |          |       |
   |    |          |       |
 send   |          |       |
 2nd--->|--SIPI--->|       |
 SIPI  set pend.   |----->(ignored)
   |    |<--ACK----|       |
   |  clear        |       |
   |   pend.       |       |
 Check  |          |     mp_naps++
 pend.  |          |       |
   |    |          |       |
 Wait   |          |       |
 200us  |          |       |
   |    |          |       |
   |    |          |       |
 Check  |          |       |
mp_naps |          |       |
   |    |          |       |




More information about the freebsd-amd64 mailing list