diff mbox

[U-Boot,v2] arm64: spin-table: add more information in Kconfig help

Message ID 1484903083-30107-1-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 65f321966177895ecdd2bdd21f3770f1746a9f8b
Delegated to: Tom Rini
Headers show

Commit Message

Masahiro Yamada Jan. 20, 2017, 9:04 a.m. UTC
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(-)

Comments

Tom Rini Jan. 28, 2017, 10:44 p.m. UTC | #1
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 mbox

Patch

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