Booting p4080ds on non-0 cpu

McClintock Matthew-B29882 B29882 at freescale.com
Thu May 26 04:52:23 EST 2011


On Wed, May 25, 2011 at 7:16 AM, Gabbasov, Andrew
<Andrew_Gabbasov at mentor.com> wrote:
> Hello Matthew,
>
> You have made a patch
> "powerpc/fsl_booke: Add support to boot from core other than 0" some time
> ago, so you probably worked with booting the kernel on a cpu subset,
> particularly on the core other than 0.
>
> Could you please describe any details how you ran the kernel from u-boot on
> a non-0 cpu?

I did this via kexec not via u-boot. In this method I would reboot on
any one of the cores and it would bring up the other cores.

> I have a problem trying to boot linux on p4080ds platform on any non-0 cpu
> (as a first step to running AMP or mixed AMP/SMP configuration). I'm trying
> to run 2.6.34.6 kernel with some Freescale patches in SMP configuration with
> full original device tree and device tree with some cpu nodes removed. I'm
> using the u-boot script, shown at the bottom of this message.
>
> If I run "bootm go" after the script commands (thus running the kernel on
> cpu 0), the kernel runs fine.
>
> When I'm trying to run the SMP kernel with full device tree on cpu 1 using
> the following commands after the script:
>   fdt boot 1
>   cpu 1 release 0 1 c00000 -
> the kernel begins to run, but soon crashes. Possible reasons
> are: "Unrecoverable FP Unavailable Exception", at nearly random
> place; memory allocation errors somewhere in DPAA code and then segmentation
> fault (sig 11); unknown exception (sig 4). Sometimes it doesn't even show
> anything on the console (too early exception?), but sometimes it boots
> successfully up to the shell prompt.

Is the single core boot stable at this point?

> When I'm trying to run the SMP kernel with the device tree with cpu 0
> stripped out (commented out the whole cpu0 node and all properties referring
> to it with &cpu0), using the following commands after the script:
>   fdt boot 1
>   cpu 1 release 0 0 c00000 -
>   [Note the difference in the parameter to 'cpu 1 release' command,
>     it should be a logical cpu number, which is different]
> the result is almost the same, the kernel crashes too. The reasons are
> similar to the above, with more often "Unrecoverable FP Unavailable
> Exception".

Can you send me the kernel boot logs and kernel defconfig? (off list perhaps)

>
> Can you give any advise why can this happen, and what I could be doing
> wrong?

Did you build your kernel relocatable? Did you use the -b option when
compiling your device tree? We do have a hypervisor for this part
which might be a more suitable and tested solution depending on what
you are trying to accomplish. I'm not sure that anyone has explicitly
tested AMP on a p4080.

-M


More information about the Linuxppc-dev mailing list