From 41ead8de77963bae907375c1bb115dad3315f46b Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 12 Nov 2022 16:41:36 +0200 Subject: initial rpc implementations --- arch/riscv64/kernel/proc.c | 6 ++++++ arch/riscv64/kernel/vmem.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'arch/riscv64/kernel') diff --git a/arch/riscv64/kernel/proc.c b/arch/riscv64/kernel/proc.c index 2ccc5bc..3c2ea59 100644 --- a/arch/riscv64/kernel/proc.c +++ b/arch/riscv64/kernel/proc.c @@ -56,6 +56,12 @@ void set_thread(struct tcb *t) r->tp = (long)t->thread_storage; } +vm_t get_stack(struct tcb *t) +{ + struct riscv_regs *r = (struct riscv_regs *)(t) - 1; + return r->sp; +} + void save_regs(struct tcb *t, void *p) { struct riscv_regs *r = (struct riscv_regs *)(t) - 1; diff --git a/arch/riscv64/kernel/vmem.c b/arch/riscv64/kernel/vmem.c index 8954ee3..d12015c 100644 --- a/arch/riscv64/kernel/vmem.c +++ b/arch/riscv64/kernel/vmem.c @@ -316,7 +316,7 @@ vm_t setup_kernel_io(struct vmem *b, vm_t paddr) stat_t clone_uvmem(struct vmem *r, struct vmem *b) { /** \todo error checking? */ - for (size_t i = 0; i <= CSTACK_PAGE; ++i) + for (size_t i = 0; i < CSTACK_PAGE; ++i) b->leaf[i] = r->leaf[i]; return OK; -- cgit v1.3