Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2008 22:29:21 +0900
From:      masatic@mbs.sphere.ne.jp (FUCHIGAMI Masachika)
To:        freebsd-amd64@freebsd.org
Subject:   Re: amd64/120202: [panic] kernel panic at start_all_aps, AP not starts
Message-ID:  <200802151329.014D79140124000.masatic.ME@inca.mbs.sphere.ne.jp>
In-Reply-To: Your message of "Mon, 11 Feb 2008 15:21:45 -0500" <200802111521.45864.jhb@freebsd.org>
References:  <200802111521.45864.jhb@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
"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 |          |       |
   |    |          |       |





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802151329.014D79140124000.masatic.ME>