[PATCH] riscv: require alternatives framework when selecting FPU support
Andrew Jones
ajones at ventanamicro.com
Wed Mar 22 12:26:10 PDT 2023
On Wed, Mar 22, 2023 at 03:17:13PM +0000, Conor Dooley wrote:
> 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?
Ah, yes, and that makes the idea even more attractive, as we could remove
several ifdefs.
Thanks,
drew
More information about the linux-riscv
mailing list