PSCI_CPU_ON flow

Catalin Marinas catalin.marinas at arm.com
Thu Nov 5 02:08:19 PST 2015


On Wed, Nov 04, 2015 at 07:31:42PM +0000, Russell King - ARM Linux wrote:
> On Wed, Nov 04, 2015 at 05:10:49PM +0000, Mark Rutland wrote:
> > Yes, the CPU should start at __pa(secondary_entry) in head.S. From there
> > it will branch to secondary_startup:
> > 
> > ENTRY(secondary_entry)
> > 	bl      el2_setup                       // Drop to EL1
> > 	bl      set_cpu_boot_mode_flag
> > 	b       secondary_startup
> > ENDPROC(secondary_entry)
> 
> We've been busy telling people to implement errata workarounds in firmware,
> and we're also busy telling people that their secondary CPUs should start
> in the kernel.  The two are incompatible with each other...

I think this could have been worded better, something like: the CPU
should enter the non-secure EL2 or EL1 at __pa(secondary_entry).
Avoiding the word "start" means that we are not excluding the firmware.
On arm64 we can't skip secure firmware since all CPUs reset at EL3
anyway.

> I think we need to come up with a clearer statement on both these subjects
> which gives people a good idea about what's required, and doesn't send out
> confusing messages.

I agree, Documentation/{arm/Booting,arm64/booting.txt} should clearly
state the requirements. Not sure many people read them but at least they
can be told about.

-- 
Catalin



More information about the linux-arm-kernel mailing list