u-boot/arch/riscv/lib
Lukas Auer 90ae281437 riscv: add option to wait for ack from secondary harts in smp functions
Add a wait option to smp_call_function() to wait for the secondary harts
to acknowledge the call-function request. The request is considered to
be acknowledged once each secondary hart has cleared the corresponding
IPI.

As part of the call-function request, the secondary harts invalidate the
instruction cache after clearing the IPI. This adds a delay between
acknowledgment (clear IPI) and fulfillment (call function) of the
request. We want to use the acknowledgment to be able to judge when the
request has been completed. Remove the delay by clearing the IPI after
cache invalidation and just before calling the function from the
request.

Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Rick Chen <rick@andestech.com>
Tested-by: Rick Chen <rick@andestech.com>
Reviewed-by: Anup Patel <anup.patel@wdc.com>
2019-12-10 08:23:10 +08:00
..
andes_plic.c riscv: add functions for reading the IPI status 2019-12-10 08:23:10 +08:00
andes_plmt.c riscv: Add a SYSCON driver for Andestech's PLMT 2019-04-08 09:45:08 +08:00
asm-offsets.c riscv: Introduce CONFIG_XIP to support booting from flash 2019-05-09 16:46:46 +08:00
boot.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bootm.c riscv: add option to wait for ack from secondary harts in smp functions 2019-12-10 08:23:10 +08:00
cache.c common: Move some cache and MMU functions out of common.h 2019-12-02 18:23:55 -05:00
crt0_riscv_efi.S efi_loader: use predefined constants in crt0_*_efi.S 2019-07-16 22:17:14 +00:00
elf_riscv32_efi.lds SPDX: Convert single license tags to Linux Kernel style 2018-05-29 14:44:21 +08:00
elf_riscv64_efi.lds SPDX: Convert single license tags to Linux Kernel style 2018-05-29 14:44:21 +08:00
image.c RISC-V: Align boot image header with Linux 2019-10-18 09:04:19 +08:00
interrupts.c common: Move interrupt functions into a new header 2019-12-02 18:25:00 -05:00
Makefile riscv: add SPL support 2019-08-26 16:07:42 +08:00
mkimage_fit_opensbi.sh riscv: add a generic FIT generator script 2019-08-26 16:07:42 +08:00
rdtime.c riscv: Implement riscv_get_time() API using rdtime instruction 2018-12-18 09:56:27 +08:00
reloc_riscv_efi.c riscv: Remove unused _relocate arguments 2018-07-19 16:31:37 -04:00
reset.c riscv: cosmetic: Reword do_reset() printf message. 2018-10-03 17:49:27 +08:00
sbi_ipi.c riscv: add functions for reading the IPI status 2019-12-10 08:23:10 +08:00
setjmp.S riscv: rename CPU_RISCV_32/64 to match architecture names ARCH_RV32I/64I 2018-11-26 13:57:29 +08:00
sifive_clint.c riscv: add functions for reading the IPI status 2019-12-10 08:23:10 +08:00
smp.c riscv: add option to wait for ack from secondary harts in smp functions 2019-12-10 08:23:10 +08:00
spl.c riscv: add option to wait for ack from secondary harts in smp functions 2019-12-10 08:23:10 +08:00