From 9c0f26d26366ff7def20d5be6aff5e0f93976ad6 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 6 Jul 2024 20:50:36 +0300 Subject: adjust stack handling --- arch/riscv64/kernel/vmem.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'arch/riscv64/kernel/vmem.c') diff --git a/arch/riscv64/kernel/vmem.c b/arch/riscv64/kernel/vmem.c index f717771..00752c1 100644 --- a/arch/riscv64/kernel/vmem.c +++ b/arch/riscv64/kernel/vmem.c @@ -551,11 +551,18 @@ void destroy_rpc_stack(struct tcb *t) } } +void reset_rpc_stack(struct tcb *t) +{ + t->rpc_stack = RPC_STACK_BASE + (BASE_PAGE_SIZE * rpc_pages); + t->arch.rpc_idx = rpc_pages; +} + bool rpc_stack_empty(pm_t addr) { return addr == RPC_STACK_BASE + (BASE_PAGE_SIZE * rpc_pages); } + vm_t rpc_position(struct tcb *t) { /** @todo we assume rpc_idx is updated on every segfault of the rpc stack */ -- cgit v1.3