Linus Walleij | 7477139 | 2015-03-09 10:53:21 +0100 | [diff] [blame] | 1 | if ARM64 |
| 2 | |
| 3 | config ARMV8_MULTIENTRY |
Masahiro Yamada | 78cd22a | 2016-08-12 10:26:50 +0900 | [diff] [blame] | 4 | bool "Enable multiple CPUs to enter into U-Boot" |
Linus Walleij | 7477139 | 2015-03-09 10:53:21 +0100 | [diff] [blame] | 5 | |
Masahiro Yamada | 2663cd6 | 2016-06-27 19:31:05 +0900 | [diff] [blame] | 6 | config ARMV8_SPIN_TABLE |
| 7 | bool "Support spin-table enable method" |
| 8 | depends on ARMV8_MULTIENTRY && OF_LIBFDT |
| 9 | help |
| 10 | Say Y here to support "spin-table" enable method for booting Linux. |
| 11 | |
| 12 | To use this feature, you must do: |
| 13 | - Specify enable-method = "spin-table" in each CPU node in the |
| 14 | Device Tree you are using to boot the kernel |
| 15 | - Let secondary CPUs in U-Boot (in a board specific manner) |
| 16 | before the master CPU jumps to the kernel |
| 17 | |
| 18 | U-Boot automatically does: |
| 19 | - Set "cpu-release-addr" property of each CPU node |
| 20 | (overwrites it if already exists). |
| 21 | - Reserve the code for the spin-table and the release address |
| 22 | via a /memreserve/ region in the Device Tree. |
| 23 | |
Linus Walleij | 7477139 | 2015-03-09 10:53:21 +0100 | [diff] [blame] | 24 | endif |