[PATCH] riscv: require alternatives framework when selecting FPU support

Conor Dooley conor at kernel.org
Wed Mar 22 08:17:23 PDT 2023


On Wed, Mar 22, 2023 at 01:46:31PM +0100, Andrew Jones wrote:
> On Wed, Mar 22, 2023 at 01:09:07PM +0100, Jason A. Donenfeld wrote:
> > When moving switch_to's has_fpu() over to using riscv_has_extension_
> > likely() rather than static branchs, the FPU code gained a dependency on
> > the alternatives framework. If CONFIG_RISCV_ALTERNATIVE isn't selected
> > when CONFIG_FPU is, then has_fpu() returns false, and switch_to does not
> > work as intended. So select CONFIG_RISCV_ALTERNATIVE when CONFIG_FPU is
> > selected.
> > 
> > Fixes: 702e64550b12 ("riscv: fpu: switch has_fpu() to riscv_has_extension_likely()")
> > Link: https://lore.kernel.org/all/ZBruFRwt3rUVngPu@zx2c4.com/
> > Cc: Jisheng Zhang <jszhang at kernel.org>
> > Cc: Andrew Jones <ajones at ventanamicro.com>
> > Cc: Heiko Stuebner <heiko at sntech.de>
> > Cc: Conor Dooley <conor.dooley at microchip.com>

Thanks for fixing it!
Reviewed-by: Conor Dooley <conor.dooley at microchip.com>

> > Signed-off-by: Jason A. Donenfeld <Jason at zx2c4.com>
> > ---
> >  arch/riscv/Kconfig | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index c5e42cc37604..0f59350c699d 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -467,6 +467,7 @@ config TOOLCHAIN_HAS_ZIHINTPAUSE
> >  config FPU
> >  	bool "FPU support"
> >  	default y
> > +	select RISCV_ALTERNATIVE
> >  	help
> >  	  Say N here if you want to disable all floating-point related procedure
> >  	  in the kernel.
> > -- 
> > 2.40.0
> >
> 
> Reviewed-by: Andrew Jones <ajones at ventanamicro.com>
> 
> I took a look to see if we missed anything else and see that we should
> do the same patch for KVM. I'll send one.
> 
> (It's tempting to just select RISCV_ALTERNATIVE from RISCV, but maybe we
>  can defer that wedding a bit longer.)

At that point, the config option should just go away entirely, no?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/kvm-riscv/attachments/20230322/8d70ed54/attachment-0001.sig>


More information about the kvm-riscv mailing list