[PATCH 0/5] OpenRISC FPU and Signal handling fixups

From: Stafford Horne
Date: Thu Apr 11 2024 - 14:33:45 EST


This series has some fixups found when I was doing a deep dive
documentation of the OpenRISC FPU support which was added in 2023.

http://stffrdhrn.github.io/hardware/embedded/openrisc/2023/08/24/or1k-fpu-linux-and-compilers.html

The FPU handling has issues of being inefficient and also not providing the
proper state if signals are received when handling syscalls.

The series is small, so should be easy to see from the commit list but in
summary does:

- Fixup some issues with exception handling.
- Adds CONFIG_FPU to allow disabling FPU support
- Fixups to e FPU handling logic moving the FPCSR state out of the kernel
stack pt_regs and into the task_struct.

Stafford Horne (5):
openrisc: traps: Convert printks to pr_<level> macros
openrisc: traps: Remove calls to show_registers before die
openrisc: traps: Don't send signals to kernel mode threads
openrisc: Add FPU config
openrisc: Move FPU state out of pt_regs

arch/openrisc/Kconfig | 9 ++
arch/openrisc/include/asm/fpu.h | 22 ++++
arch/openrisc/include/asm/processor.h | 1 +
arch/openrisc/include/asm/ptrace.h | 3 +-
arch/openrisc/kernel/entry.S | 15 +--
arch/openrisc/kernel/process.c | 5 +
arch/openrisc/kernel/ptrace.c | 18 ++--
arch/openrisc/kernel/signal.c | 36 ++++++-
arch/openrisc/kernel/traps.c | 144 ++++++++++++++------------
9 files changed, 160 insertions(+), 93 deletions(-)
create mode 100644 arch/openrisc/include/asm/fpu.h

--
2.44.0