Message ID | 1484903083-30107-1-git-send-email-yamada.masahiro@socionext.com |
---|---|
State | Accepted |
Commit | 65f321966177895ecdd2bdd21f3770f1746a9f8b |
Delegated to: | Tom Rini |
Headers | show |
On Fri, Jan 20, 2017 at 06:04:43PM +0900, Masahiro Yamada wrote: > This feature seems to be sometimes misunderstood. The intention is: > > [1] Bring the slaves into the U-Boot proper image, not SPL (unless > you have a special reason to do otherwise). > > [2] The operation must be done in a board (SoC) specific manner > since how to wake the slaves from the Boot ROM is SoC specific. > > [3] The slaves must enter U-Boot proper after U-Boot relocates > itself because the "cpu-release-addr" property points to the > relocated memory area. > > [2] is already explained in the help. We can make [1] even clearer > by mentioning "U-Boot proper" instead of "U-Boot". [3] is missing, > so I am adding it to the list. Instead, "before the master CPU > jumps to the kernel" is a matter of course, so removed. > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Applied to u-boot/master, thanks!
diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig index 22dce88..fcc387c 100644 --- a/arch/arm/cpu/armv8/Kconfig +++ b/arch/arm/cpu/armv8/Kconfig @@ -12,8 +12,10 @@ config ARMV8_SPIN_TABLE To use this feature, you must do: - Specify enable-method = "spin-table" in each CPU node in the Device Tree you are using to boot the kernel - - Let secondary CPUs in U-Boot (in a board specific manner) - before the master CPU jumps to the kernel + - Bring secondary CPUs into U-Boot proper in a board specific + manner. This must be done *after* relocation. Otherwise, the + secondary CPUs will spin in unprotected memory area because the + master CPU protects the relocated spin code. U-Boot automatically does: - Set "cpu-release-addr" property of each CPU node
This feature seems to be sometimes misunderstood. The intention is: [1] Bring the slaves into the U-Boot proper image, not SPL (unless you have a special reason to do otherwise). [2] The operation must be done in a board (SoC) specific manner since how to wake the slaves from the Boot ROM is SoC specific. [3] The slaves must enter U-Boot proper after U-Boot relocates itself because the "cpu-release-addr" property points to the relocated memory area. [2] is already explained in the help. We can make [1] even clearer by mentioning "U-Boot proper" instead of "U-Boot". [3] is missing, so I am adding it to the list. Instead, "before the master CPU jumps to the kernel" is a matter of course, so removed. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> --- Changes in v2: - Remove a trivial explanation, and rephrase arch/arm/cpu/armv8/Kconfig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)