Skip to content

Commit 2e2cf55

Browse files
clementlegerPaul Walmsley
authored andcommitted
riscv: cpufeature: add validation for zfa, zfh and zfhmin
These extensions depends on the F one. Add a validation callback checking for the F extension to be present. Now that extensions are correctly reported using the F/D presence, we can remove the has_fpu() check in hwprobe_isa_ext0(). Signed-off-by: Clément Léger <cleger@rivosinc.com> Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Link: https://lore.kernel.org/r/20250527100001.33284-1-cleger@rivosinc.com Signed-off-by: Paul Walmsley <pjw@kernel.org>
1 parent 568a2fa commit 2e2cf55

2 files changed

Lines changed: 9 additions & 11 deletions

File tree

arch/riscv/kernel/cpufeature.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,10 +474,10 @@ const struct riscv_isa_ext_data riscv_isa_ext[] = {
474474
__RISCV_ISA_EXT_DATA(zacas, RISCV_ISA_EXT_ZACAS),
475475
__RISCV_ISA_EXT_DATA(zalrsc, RISCV_ISA_EXT_ZALRSC),
476476
__RISCV_ISA_EXT_DATA(zawrs, RISCV_ISA_EXT_ZAWRS),
477-
__RISCV_ISA_EXT_DATA(zfa, RISCV_ISA_EXT_ZFA),
477+
__RISCV_ISA_EXT_DATA_VALIDATE(zfa, RISCV_ISA_EXT_ZFA, riscv_ext_f_depends),
478478
__RISCV_ISA_EXT_DATA_VALIDATE(zfbfmin, RISCV_ISA_EXT_ZFBFMIN, riscv_ext_f_depends),
479-
__RISCV_ISA_EXT_DATA(zfh, RISCV_ISA_EXT_ZFH),
480-
__RISCV_ISA_EXT_DATA(zfhmin, RISCV_ISA_EXT_ZFHMIN),
479+
__RISCV_ISA_EXT_DATA_VALIDATE(zfh, RISCV_ISA_EXT_ZFH, riscv_ext_f_depends),
480+
__RISCV_ISA_EXT_DATA_VALIDATE(zfhmin, RISCV_ISA_EXT_ZFHMIN, riscv_ext_f_depends),
481481
__RISCV_ISA_EXT_DATA(zca, RISCV_ISA_EXT_ZCA),
482482
__RISCV_ISA_EXT_DATA_VALIDATE(zcb, RISCV_ISA_EXT_ZCB, riscv_ext_zca_depends),
483483
__RISCV_ISA_EXT_DATA_VALIDATE(zcd, RISCV_ISA_EXT_ZCD, riscv_ext_zcd_validate),

arch/riscv/kernel/sys_hwprobe.c

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,14 +153,12 @@ static void hwprobe_isa_ext0(struct riscv_hwprobe *pair,
153153
EXT_KEY(ZVKT);
154154
}
155155

156-
if (has_fpu()) {
157-
EXT_KEY(ZCD);
158-
EXT_KEY(ZCF);
159-
EXT_KEY(ZFA);
160-
EXT_KEY(ZFBFMIN);
161-
EXT_KEY(ZFH);
162-
EXT_KEY(ZFHMIN);
163-
}
156+
EXT_KEY(ZCD);
157+
EXT_KEY(ZCF);
158+
EXT_KEY(ZFA);
159+
EXT_KEY(ZFBFMIN);
160+
EXT_KEY(ZFH);
161+
EXT_KEY(ZFHMIN);
164162

165163
if (IS_ENABLED(CONFIG_RISCV_ISA_SUPM))
166164
EXT_KEY(SUPM);

0 commit comments

Comments
 (0)