arm64: spin-table: add more information in Kconfig help
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 20 Jan 2017 09:04:43 +0000 (18:04 +0900)
committerTom Rini <trini@konsulko.com>
Sat, 28 Jan 2017 19:04:38 +0000 (14:04 -0500)
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>
arch/arm/cpu/armv8/Kconfig

index 0b3d98ef2a73720218e098b6effee91d03c08370..0188b95e99fa64672e88b3ad6289ab26825339fc 100644 (file)
@@ -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