We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Could someone suggest a way to change the boot value of a control register (e.g. ACTLR)? It seems like i'd want to do it in bl31:bl31_arch_setup(), but does each CPU go through bl31 or just the boot CPU? If I was just interested in the A7s is there a way to only boot them?
Thanks,
Ali
The SCC register defines which CPUs the SCP will release from reset. You should be able to see the Cortex-A57 cluster is powered down if you stop the boot in UEFI (pressing any key). It seems that the Linux kernel is bringing up the Cortex-A57 cores during the kernel boot. I just performed a quick test, in which I removed the reference to the Cortex-A57 cores in the DST file (then compile the new DTB). This seems to do the trick. I assume there's a more elegant way to do this.
If this has answered your questions, can you please mark this as Correct.
Thanks again for all of your help Luke!
Hi Asaidi,
I think along with the precise changes suggested by Luke we need to also modify the kernel config option NR_CPUS to 4 as well to avoid any unnecessary data structure initialization during the Linux kernel boot up.
Great Answer Luke!