linux/arch/riscv
Atish Patra 9a2451f186
RISC-V: Avoid using per cpu array for ordered booting
Currently both order booting and spinwait approach uses a per cpu
array to update stack & task pointer. This approach will not work for the
following cases.
1. If NR_CPUs are configured to be less than highest hart id.
2. A platform has sparse hartid.

This issue can be fixed for ordered booting as the booting cpu brings up
one cpu at a time using SBI HSM extension which has opaque parameter
that is unused until now.

Introduce a common secondary boot data structure that can store the stack
and task pointer. Secondary harts will use this data while booting up
to setup the sp & tp.

Reviewed-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Atish Patra <atishp@rivosinc.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2022-01-20 09:26:59 -08:00
..
boot RISC-V Patches for the 5.17 Merge Window, Part 1 2022-01-19 11:38:21 +02:00
configs RISC-V: Introduce sv48 support without relocatable kernel 2022-01-19 19:37:44 -08:00
errata riscv: errata: alternative: mark vendor_patch_func __initdata 2022-01-09 11:02:46 -08:00
include RISC-V: Avoid using per cpu array for ordered booting 2022-01-20 09:26:59 -08:00
kernel RISC-V: Avoid using per cpu array for ordered booting 2022-01-20 09:26:59 -08:00
kvm KVM: RISC-V: Avoid spurious virtual interrupts after clearing hideleg CSR 2022-01-06 15:18:18 +05:30
lib riscv: extable: consolidate definitions 2022-01-05 17:52:47 -08:00
mm riscv: fix boolconv.cocci warnings 2022-01-19 19:52:30 -08:00
net riscv: bpf: Fix eBPF's exception tables 2022-01-19 10:50:02 -08:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig riscv: default to CONFIG_RISCV_SBI_V01=n 2022-01-20 08:49:12 -08:00
Kconfig.debug RISC-V: Remove EARLY_PRINTK support 2018-12-17 10:23:46 -08:00
Kconfig.erratas riscv: enable SiFive errata CIP-453 and CIP-1200 Kconfig only if CONFIG_64BIT=y 2021-05-06 09:40:13 -07:00
Kconfig.socs RISC-V: Add StarFive SoC Kconfig option 2021-11-28 20:03:34 +01:00
Makefile riscv: fix building external modules 2021-11-18 23:06:23 -08:00