diff mbox series

[v3] MIPS: adding a safety check for cpu_has_fpu

Message ID 20220501030956.786012-1-starzhangzsd@gmail.com (mailing list archive)
State Superseded
Headers show
Series [v3] MIPS: adding a safety check for cpu_has_fpu | expand

Commit Message

Stephen Zhang May 1, 2022, 3:09 a.m. UTC
From: Shida Zhang <zhangshida@kylinos.cn>

There is a chance 'cpu_has_fpu' would still be overridden when the
CONFIG_MIPS_FP_SUPPORT configuration option has been disabled. So
add a safety check for 'cpu_has_fpu'.

Suggested-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Shida Zhang <zhangshida@kylinos.cn>
---
 Changelog in v1 -> v2:
 - Choose to redefine cpu_has_fpu to solve the problem silently.

 Changelog in v2 -> v3:
 - Choose to point out the error instead.

 arch/mips/include/asm/cpu-features.h | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Maciej W. Rozycki May 1, 2022, 11:34 a.m. UTC | #1
On Sun, 1 May 2022, Stephen Zhang wrote:

> diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
> index de8cb2ccb781..57ff0f8a507c 100644
> --- a/arch/mips/include/asm/cpu-features.h
> +++ b/arch/mips/include/asm/cpu-features.h
> @@ -134,6 +134,11 @@
>  # endif
>  #else
>  # define raw_cpu_has_fpu	cpu_has_fpu
> +# ifndef CONFIG_MIPS_FP_SUPPORT
> +#  if cpu_has_fpu
> +#   error "Forcing `cpu_has_fpu' to non-zero is not supported"
> +#  endif
> +# endif
>  #endif

 For this to work for `nofpu' the check has to be outside the conditional, 
possibly right below the comment we've been discussing.

  Maciej
diff mbox series

Patch

diff --git a/arch/mips/include/asm/cpu-features.h b/arch/mips/include/asm/cpu-features.h
index de8cb2ccb781..57ff0f8a507c 100644
--- a/arch/mips/include/asm/cpu-features.h
+++ b/arch/mips/include/asm/cpu-features.h
@@ -134,6 +134,11 @@ 
 # endif
 #else
 # define raw_cpu_has_fpu	cpu_has_fpu
+# ifndef CONFIG_MIPS_FP_SUPPORT
+#  if cpu_has_fpu
+#   error "Forcing `cpu_has_fpu' to non-zero is not supported"
+#  endif
+# endif
 #endif
 #ifndef cpu_has_32fpr
 #define cpu_has_32fpr		__isa_ge_or_opt(1, MIPS_CPU_32FPR)