Auto-detect whether a FPU exists
authorAlan Kao <alankao@andestech.com>
Tue, 9 Oct 2018 02:18:34 +0000 (10:18 +0800)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 23 Oct 2018 00:02:23 +0000 (17:02 -0700)
commit9411ec60c23d868124d9c1b1d491937aebe07afa
treeb099a760ac5b284dd79281ded728e35ec30d2e77
parent9671f7061433e2c58b9894093eada1898595b85d
Auto-detect whether a FPU exists

We expect that a kernel with CONFIG_FPU=y can still support no-FPU
machines. To do so, the kernel should first examine the existence of a
FPU, then do nothing if a FPU does exist; otherwise, it should
disable/bypass all FPU-related functions.

In this patch, a new global variable, has_fpu, is created and determined
when parsing the hardware capability from device tree during booting.
This variable is used in those FPU-related functions.

Signed-off-by: Alan Kao <alankao@andestech.com>
Cc: Greentime Hu <greentime@andestech.com>
Cc: Vincent Chen <vincentc@andestech.com>
Cc: Zong Li <zong@andestech.com>
Cc: Nick Hu <nickhu@andestech.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
arch/riscv/include/asm/switch_to.h
arch/riscv/kernel/cpufeature.c
arch/riscv/kernel/process.c
arch/riscv/kernel/signal.c