Thread (27 messages) 27 messages, 7 authors, 2024-01-10

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_SPECIAL
diff --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-float
We 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help