mirror of
https://github.com/riscv-software-src/opensbi.git
synced 2026-09-08 18:21:29 +01:00
lib: sbi: Fix FP state enable in sbi_fp_save
sbi_fp_save() currently sets mstatus.VS before executing floating-point
store instructions. VS controls vector state and does not enable
floating-point instructions.
Set mstatus.FS instead, matching sbi_fp_restore(), so floating-point
state can be saved when FS was previously Off.
Fixes: 718e1d194f ("lib: sbi: Add floating-point context save/restore support.")
Signed-off-by: whensun <theodoruswensanfebruanto025@gmail.com>
Co-developed-by: Huamao Wu <huamao.wu@spacemit.com>
Signed-off-by: Huamao Wu <huamao.wu@spacemit.com>
Link: https://lore.kernel.org/r/20260828213104.84490-1-theodoruswensanfebruanto025@gmail.com
Signed-off-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
+1
-1
@@ -20,7 +20,7 @@ void sbi_fp_save(struct sbi_fp_context *dst)
|
||||
if (!dst)
|
||||
return;
|
||||
|
||||
mstatus_orig = csr_read_set(CSR_MSTATUS, MSTATUS_VS);
|
||||
mstatus_orig = csr_read_set(CSR_MSTATUS, MSTATUS_FS);
|
||||
|
||||
asm volatile(
|
||||
#if defined(__riscv_d)
|
||||
|
||||
Reference in New Issue
Block a user