mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2026-02-23 12:40:43 +01:00
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 <oded.gabbay@gmail.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> |
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| spl.c | ||
| spl_dfu.c | ||
| spl_ext.c | ||
| spl_fat.c | ||
| spl_fit.c | ||
| spl_mmc.c | ||
| spl_nand.c | ||
| spl_net.c | ||
| spl_nor.c | ||
| spl_onenand.c | ||
| spl_ram.c | ||
| spl_sata.c | ||
| spl_spi.c | ||
| spl_ubi.c | ||
| spl_usb.c | ||
| spl_ymodem.c | ||