From: Masahiro Yamada <yamada.masahiro@socionext.com>
Date: Fri, 20 Jan 2017 09:04:43 +0000 (+0900)
Subject: arm64: spin-table: add more information in Kconfig help
X-Git-Tag: v2025.01-rc5-pxa1908~7617
X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-logo.png?a=commitdiff_plain;h=65f321966177895ecdd2bdd21f3770f1746a9f8b;p=u-boot.git

arm64: spin-table: add more information in Kconfig help

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>
---

diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index 0b3d98ef2a..0188b95e99 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -30,8 +30,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