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

Masahiro Yamada yamada.masahiro at socionext.com
Thu Jan 19 13:07:53 CET 2017


This feature seems to be sometimes misunderstood.  The intention is

[1] Bring the slaves into U-Boot proper image, not SPL (unless
    you have a special reason).

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

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 arch/arm/cpu/armv8/Kconfig | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arm/cpu/armv8/Kconfig b/arch/arm/cpu/armv8/Kconfig
index 22dce88..7388eca 100644
--- a/arch/arm/cpu/armv8/Kconfig
+++ b/arch/arm/cpu/armv8/Kconfig
@@ -12,8 +12,11 @@ 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) before the master CPU jumps to the kernel, but *after*
+	      relocation.  Otherwise, the master CPU will see a different copy
+	      of the spin code, then the secondary CPUs will spin in the
+	      unprotected memory area.
 
 	  U-Boot automatically does:
 	    - Set "cpu-release-addr" property of each CPU node
-- 
2.7.4



More information about the U-Boot mailing list