diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-12 16:41:36 +0200 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2022-11-12 16:41:36 +0200 |
| commit | 41ead8de77963bae907375c1bb115dad3315f46b (patch) | |
| tree | 4b364db137bd3bea69853f15329292af7662897d /arch/riscv64/kernel | |
| parent | 1d37792fb7a47135f0e7b7fc245e83bb1d8fc496 (diff) | |
| download | kmi-41ead8de77963bae907375c1bb115dad3315f46b.tar.gz kmi-41ead8de77963bae907375c1bb115dad3315f46b.zip | |
initial rpc implementations
Diffstat (limited to 'arch/riscv64/kernel')
| -rw-r--r-- | arch/riscv64/kernel/proc.c | 6 | ||||
| -rw-r--r-- | arch/riscv64/kernel/vmem.c | 2 |
2 files changed, 7 insertions, 1 deletions
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; |
