From 9c9d589ea310f1290e4d6d2019fc8b51d9a86e42 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Mon, 9 Oct 2023 14:57:18 +0300 Subject: move rpc stack handling to arch-specific code + Fairly considerable speedup, as we don't have to look up the rpc pte every time separately, instead cacheing them. Adds an architecture specific limitation to total rpc stack size, though. --- arch/riscv64/kernel/entry.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/riscv64/kernel/entry.S') diff --git a/arch/riscv64/kernel/entry.S b/arch/riscv64/kernel/entry.S index 2959e2f..815694b 100644 --- a/arch/riscv64/kernel/entry.S +++ b/arch/riscv64/kernel/entry.S @@ -67,7 +67,7 @@ handle_trap: call kernel_panic continue_trap: - sr sp, offsetof_tcbd(tp) + sr sp, offsetof_arch(tp) lr sp, offsetof_regs(tp) addi sp, sp, -sizeof_registers csrrw tp, CSR_SSCRATCH, tp @@ -78,7 +78,7 @@ continue_trap: /* get current tcb into tp and set scratch to 0 so we can figure out if * exception occured in kernel or userspace */ csrrw tp, CSR_SSCRATCH, x0 - lr t5, offsetof_tcbd(tp) + lr t5, offsetof_arch(tp) sr t5, offsetof_sp(sp) /* load supervisor cause */ -- cgit v1.3