]> www.infradead.org Git - users/willy/xarray.git/commit
riscv: smp: fail booting up smp if inconsistent vlen is detected
authorAndy Chiu <andy.chiu@sifive.com>
Thu, 9 May 2024 16:26:52 +0000 (00:26 +0800)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 30 May 2024 21:33:05 +0000 (14:33 -0700)
commit38a94c46660f5612c6ef37ec9754ec1543b038cd
tree8b9a1853dc80f9b981ba71d26d1f86af8d24793e
parent77afe3e514b89a12143c89d263cfe2365672cfc3
riscv: smp: fail booting up smp if inconsistent vlen is detected

Currently we only support Vector for SMP platforms, that is, all SMP
cores have the same vlenb. If we happen to detect a mismatching vlen, it
is better to just fail bootting it up to prevent further race/scheduling
issues.

Also, move .Lsecondary_park forward and chage `tail smp_callin` into a
regular call in the early assembly. So a core would be parked right
after a return from smp_callin. Note that a successful smp_callin
does not return.

Fixes: 7017858eb2d7 ("riscv: Introduce riscv_v_vsize to record size of Vector context")
Reported-by: Conor Dooley <conor.dooley@microchip.com>
Closes: https://lore.kernel.org/linux-riscv/20240228-vicinity-cornstalk-4b8eb5fe5730@spud/
Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Yunhui Cui <cuiyunhui@bytedance.com>
Link: https://lore.kernel.org/r/20240510-zve-detection-v5-2-0711bdd26c12@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/kernel/head.S
arch/riscv/kernel/smpboot.c