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

John Baldwin jhb at freebsd.org
Fri Feb 15 06:57:53 PST 2008


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



-- 
John Baldwin


More information about the freebsd-amd64 mailing list