Re: [PATCH v2 07/14] LoongArch: Implement ARCH_HAS_KERNEL_FPU_SUPPORT
From: Huacai Chen <chenhuacai@kernel.org>
Date: 2024-01-07 02:39:16
Also in:
amd-gfx, linux-arch, linux-arm-kernel, linux-riscv, lkml, loongarch
On Thu, Jan 4, 2024 at 11:58 PM Samuel Holland [off-list ref] wrote:
Hi Huacai, On 2024-01-04 3:55 AM, Huacai Chen wrote:quoted
Hi, Samuel, On Thu, Dec 28, 2023 at 9:42 AM Samuel Holland [off-list ref] wrote:quoted
LoongArch already provides kernel_fpu_begin() and kernel_fpu_end() in asm/fpu.h, so it only needs to add kernel_fpu_available() and export the CFLAGS adjustments. Acked-by: WANG Xuerui <redacted> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Samuel Holland <samuel.holland@sifive.com> --- (no changes since v1) arch/loongarch/Kconfig | 1 + arch/loongarch/Makefile | 5 ++++- arch/loongarch/include/asm/fpu.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-)diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index ee123820a476..65d4475565b8 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig@@ -15,6 +15,7 @@ config LOONGARCH select ARCH_HAS_CPU_FINALIZE_INIT select ARCH_HAS_FORTIFY_SOURCE select ARCH_HAS_KCOV + select ARCH_HAS_KERNEL_FPU_SUPPORT if CPU_HAS_FPU select ARCH_HAS_NMI_SAFE_THIS_CPU_OPS select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE select ARCH_HAS_PTE_SPECIALdiff --git a/arch/loongarch/Makefile b/arch/loongarch/Makefile index 4ba8d67ddb09..1afe28feaba5 100644 --- a/arch/loongarch/Makefile +++ b/arch/loongarch/Makefile@@ -25,6 +25,9 @@ endif 32bit-emul = elf32loongarch 64bit-emul = elf64loongarch +CC_FLAGS_FPU := -mfpu=64 +CC_FLAGS_NO_FPU := -msoft-floatWe will add LoongArch32 support later, maybe it should be -mfpu=32 in that case, and do other archs have the case that only support FP32?Do you mean that LoongArch32 does not support double-precision FP in hardware? At least both of the consumers in this series use double-precision, so my first thought is that LoongArch32 could not select ARCH_HAS_KERNEL_FPU_SUPPORT.
Then is it possible to introduce CC_FLAGS_SP_FPU and CC_FLAGS_DP_FPU? I think there may be some place where SP FP is enough. Huacai
Regards, Samuel