diff mbox

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

Message ID 1484827674-31341-1-git-send-email-yamada.masahiro@socionext.com
State Superseded
Headers show

Commit Message

Masahiro Yamada Jan. 19, 2017, 12:07 p.m. UTC
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@socionext.com>

---

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

-- 
2.7.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Comments

Oded Gabbay Jan. 19, 2017, 12:26 p.m. UTC | #1
On Thu, Jan 19, 2017 at 2:07 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 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@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

>

> _______________________________________________

> U-Boot mailing list

> U-Boot@lists.denx.de

> http://lists.denx.de/mailman/listinfo/u-boot


This patch is:
Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com>

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot
diff mbox

Patch

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