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@xxxxxxxxx/ > Cc: Jisheng Zhang <jszhang@xxxxxxxxxx> > Cc: Andrew Jones <ajones@xxxxxxxxxxxxxxxx> > Cc: Heiko Stuebner <heiko@xxxxxxxxx> > Cc: Conor Dooley <conor.dooley@xxxxxxxxxxxxx> > Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> > --- > 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@xxxxxxxxxxxxxxxx> 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.) Thanks, drew