Can a secondary or additional core be loaded and made active (powered on) without via user application or a boot loader

bootloadercoresoc

Using any multi core IC such as the Qualcomm Snapdragon SoC as the platform.

Can a secondary or an additional core (such as core1 or core2 etc..) be powered on and made active without via some user mode application or by way of a secondary or intermediate boot loader ? Can core0 (the default or primary or main core) have integrated circuit code within which simply powers on the secondary or additional core and then loads a specific OS (which will run on this core) all from within core0 integrated code essentially by-passing the involvement and use of any user application or intermediate boot loader ?

Best Answer

Assuming the boot code has at least the same privileges as the kernel it is booting (Most likely the case) then there is no reason why not.

Userland does not after all have direct control over such things, there is always a call into the core 0 operating system to set such things up, so there is no reason the core 0 kernel cannot load a program into one of the other cores on its own behalf.

It is likely (but by no means certain) that the core 0 kernel will explicitly put the other cores into power down on startup if they are not being used, so while a bootloader or a shim probably could load and execute code on the secondary cores, it will likely be killed once the core 0 kernel starts up.
It is interesting to speculate on having a shim load code into core 1 or 2 that then tries to patch the core 0 kernel image before it is executed to avoid being killed by the core 0 os....

Regards, Dan.