Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Feb 2008 09:56:34 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-amd64@freebsd.org
Cc:        FUCHIGAMI Masachika <masatic@mbs.sphere.ne.jp>
Subject:   Re: amd64/120202: [panic] kernel panic at start_all_aps, AP not starts
Message-ID:  <200802150956.35085.jhb@freebsd.org>
In-Reply-To: <200802151329.014D79140124000.masatic.ME@inca.mbs.sphere.ne.jp>
References:  <200802111521.45864.jhb@freebsd.org> <200802151329.014D79140124000.masatic.ME@inca.mbs.sphere.ne.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 15 February 2008 08:29:21 am FUCHIGAMI Masachika wrote:
> "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?)

Oh, you have AMD CPUs, that patch just checks for Intel CPUs.  I'll have to 
update it.  You can try just commenting out the whole deassert INIT IPI as 
your CPUs don't need it (it's only needed on older CPUs with APIC busses).

>  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 |          |       |
>    |    |          |       |
> 
> 
> _______________________________________________
> freebsd-amd64@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-amd64
> To unsubscribe, send any mail to "freebsd-amd64-unsubscribe@freebsd.org"
> 



-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200802150956.35085.jhb>