riscv: vector: do not pass task_struct into riscv_v_vstate_{save,restore}()
authorAndy Chiu <andy.chiu@sifive.com>
Mon, 15 Jan 2024 05:59:26 +0000 (05:59 +0000)
committerPalmer Dabbelt <palmer@rivosinc.com>
Tue, 16 Jan 2024 15:13:59 +0000 (07:13 -0800)
commitd6c78f1ca3e8ec3fd1afa1bc567cdf083e7af9fe
tree3579ec9196e6be855607804bb5b4d1274089b8af
parenta93fdaf183125fea81f66b9bd756ef5a0c30859e
riscv: vector: do not pass task_struct into riscv_v_vstate_{save,restore}()

riscv_v_vstate_{save,restore}() can operate only on the knowlege of
struct __riscv_v_ext_state, and struct pt_regs. Let the caller decides
which should be passed into the function. Meanwhile, the kernel-mode
Vector is going to introduce another vstate, so this also makes functions
potentially able to be reused.

Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Tested-by: Björn Töpel <bjorn@rivosinc.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20240115055929.4736-8-andy.chiu@sifive.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/entry-common.h
arch/riscv/include/asm/vector.h
arch/riscv/kernel/kernel_mode_vector.c
arch/riscv/kernel/ptrace.c
arch/riscv/kernel/signal.c