vxworks: fixed cpu enable using PSCI on armv8
authorVasyl Vavrychuk <vvavrychuk@gmail.com>
Tue, 10 Apr 2018 09:36:36 +0000 (12:36 +0300)
committerTom Rini <trini@konsulko.com>
Fri, 13 Apr 2018 21:06:05 +0000 (17:06 -0400)
commit3194daa10ba642269a0948282423c48fd02fadce
treecc13b60949317255bbc82062098e8b3a2765df4f
parent52ff8020d02f312364ceaf0b1114759d3a1f357b
vxworks: fixed cpu enable using PSCI on armv8

Without armv8_setup_psci register VBAR_EL3 is not set up property which
makes SMC calls jump to invalid location.

smp_kick_all_cpus is required to make slave cpus leave gic_wait_for_interrupt.
Without this they will never pursue booting process.

Fix was applied to the two ways of booting VxWorks: bootvx and bootm commands.

This implementation is very similar to what is done in boot_jump_linux
in arch/arm/lib/bootm.c file.

Tested on VxWorks 7 release SR0520 2017-12-08 Intel Stratix 10 SX SoC
Development Kit board.

Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@globallogic.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/arm/lib/bootm.c
cmd/elf.c