]> www.infradead.org Git - nvme.git/commit
riscv: add support for kernel-mode FPU
authorSamuel Holland <samuel.holland@sifive.com>
Fri, 29 Mar 2024 07:18:26 +0000 (00:18 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 19 May 2024 21:36:19 +0000 (14:36 -0700)
commit77acc6b55ae46f52bfa4eca52c9fe627f5c3ba3f
treed801cdaaaf2962be7676ac27f27c80f836c355de
parentb0b8a15bb89e09e12aa6be8ae28128bb656338f1
riscv: add support for kernel-mode FPU

This is motivated by the amdgpu DRM driver, which needs floating-point
code to support recent hardware.  That code is not performance-critical,
so only provide a minimal non-preemptible implementation for now.

Support is limited to riscv64 because riscv32 requires runtime (libgcc)
assistance to convert between doubles and 64-bit integers.

Link: https://lkml.kernel.org/r/20240329072441.591471-12-samuel.holland@sifive.com
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Christian König <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Borislav Petkov (AMD) <bp@alien8.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nathan Chancellor <nathan@kernel.org>
Cc: Nicolas Schier <nicolas@fjasle.eu>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: WANG Xuerui <git@xen0n.name>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/riscv/Kconfig
arch/riscv/Makefile
arch/riscv/include/asm/fpu.h [new file with mode: 0644]
arch/riscv/kernel/Makefile
arch/riscv/kernel/kernel_mode_fpu.c [new file with mode: 0644]