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 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. 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 give any advise why can this happen, and what I could be doing wrong? Thanks in advance, Best regards, Andrew setenv kernel_base 00000000 setenv kernel_size 30000000 # Helper variables setenv kernel_load_offset 01000000 setenv dtb_load_offset 00c00000 setexpr kernel_load_addr $kernel_base + $kernel_load_offset setexpr dtb_load_addr $kernel_base + $dtb_load_offset tftp $kernel_load_addr $tftpdir/uImage-p4080ds.bin tftp $dtb_load_addr $tftpdir/uImage-p4080ds.dtb setenv bootargs root=/dev/nfs rw nfsroot=$serverip:/tftpboot/$tftpdir/rootfs-4080ds ip=dhcp console=ttyS0,115200 debug setenv bootm_low $kernel_base setenv bootm_size $kernel_size interrupts off bootm start $kernel_load_addr - $dtb_load_addr bootm loados bootm fdt fdt boardsetup fdt chosen bootm prep # cpu 1 release $kernel_base - $dtb_load_addr -
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev