diff options
| author | Oded Gabbay <[email protected]> | 2016-12-28 13:38:35 +0200 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2017-01-14 16:47:10 -0500 |
| commit | 8c36e99f211104fd7dcbf0669a35a47ce5e154f5 (patch) | |
| tree | 51ed5633ec7e0efa7015dbd88358d919b3ae095b /include/linux/linux_string.h | |
| parent | 6569c0d3252d482a01325f7b87b6ebe4e1ab07fd (diff) | |
armv8: release slave cores from CPU_RELEASE_ADDR
When using ARMv8 with ARMV8_SPIN_TABLE=y, we want the slave cores to
wait on spin_table_cpu_release_addr, until the Linux kernel will "wake" them
by writing to that location. The address of spin_table_cpu_release_addr is
transferred to the kernel using the device tree that is updated by
spin_table_update_dt().
However, if we also use SPL, then the slave cores are stuck at
CPU_RELEASE_ADDR instead and as a result, never wake up.
This patch releases the slave cores by writing spl_image->entry_point to
CPU_RELEASE_ADDR location before the end of the SPL code
(at jump_to_image_no_args()).
That way, the slave cores will start to execute the u-boot and will get to
the spin-table code and wait on the correct address
(spin_table_cpu_release_addr).
Signed-off-by: Oded Gabbay <[email protected]>
Cc: Simon Glass <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Diffstat (limited to 'include/linux/linux_string.h')
0 files changed, 0 insertions, 0 deletions
