It was my impression that the extra cores on the Pi 2 were halted at boot, but it seems like they are really just running an endless loop. I recently ported my very simple bootloader to Pi 2, and something very curious happened. It looked like the code had been forked 4 times when I ran it, because the output to the serial console was in 4 copies and the letters were mixed together as if multiple threads were writing to it simultaneously. It looked like my code had somehow been forked on every core, even though it was only meant to run on the first core.
My bootloader basically copies itself to run from address 0x00-0xFF (yes, it is that small) in order to make room for the kernel to be loaded. My theory is now that the extra cores on Pi 2 are actually executing an endless loop somewhere in this address space and that my bootloader overwrites this/these locations. Are there anyone here that knows more about this? I can't find any mention of it anywhere, the only references I can find refer to a control through the mailbox in order to enable a CPU core, but it looks like there might be another way.