diff options
Diffstat (limited to 'arch')
| -rwxr-xr-x | arch/riscv64/conf/init | bin | 3960 -> 3960 bytes | |||
| -rw-r--r-- | arch/riscv64/conf/init.c | 16 | ||||
| -rw-r--r-- | arch/riscv64/conf/initrd | bin | 4608 -> 4608 bytes | |||
| -rw-r--r-- | arch/riscv64/kernel/proc.c | 9 |
4 files changed, 8 insertions, 17 deletions
diff --git a/arch/riscv64/conf/init b/arch/riscv64/conf/init Binary files differindex 5b06586..5248f8f 100755 --- a/arch/riscv64/conf/init +++ b/arch/riscv64/conf/init diff --git a/arch/riscv64/conf/init.c b/arch/riscv64/conf/init.c index c61848e..c3e8334 100644 --- a/arch/riscv64/conf/init.c +++ b/arch/riscv64/conf/init.c @@ -178,14 +178,6 @@ static uint64_t sys_swap(long tid) return 0; } -static void sys_ipc_server(void *f) -{ - struct sys_ret r = ecall2(SYS_IPC_SERVER, (long)f); - - if (r.s != 0) - print_value("ipc_server() failed with error ", r.s); -} - static inline struct sys_ret sys_ipc_req(sys_arg_t pid, sys_arg_t d0, sys_arg_t d1, sys_arg_t d2, @@ -381,14 +373,12 @@ static void handle_kernel(long a0, long a1, long d0, long d1, long d2, long d3) sys_poweroff(0); } -void _start(long a0, long a1, long d0, long d1, long d2, long d3) +void _start(long pid, long tid, long d0, long d1, long d2, long d3) { - if (a0 == 0) - handle_kernel(a0, a1, d0, d1, d2, d3); + if (pid == 0) + handle_kernel(pid, tid, d0, d1, d2, d3); /* otherwise, implement test functionality */ - long pid = a0; - long tid = a1; if (d0 == 1) { void *cbuf = 0; rw_buf = sys_req_sharedmem(pid, rw_buf_size, &cbuf); diff --git a/arch/riscv64/conf/initrd b/arch/riscv64/conf/initrd Binary files differindex a792456..bc0858e 100644 --- a/arch/riscv64/conf/initrd +++ b/arch/riscv64/conf/initrd diff --git a/arch/riscv64/kernel/proc.c b/arch/riscv64/kernel/proc.c index 4310378..413c078 100644 --- a/arch/riscv64/kernel/proc.c +++ b/arch/riscv64/kernel/proc.c @@ -31,15 +31,16 @@ void run_init(struct tcb *t, vm_t fdt, vm_t initrd) bkl_unlock(); __asm__ volatile ("mv sp, %0\n" "li a0, %1\n" - "li a1, %2\n" - "mv a2, %3\n" + "mv a1, %2\n" + "li a2, %3\n" "mv a3, %4\n" "mv a4, %5\n" + "li a5, %6\n" "sret\n" : : "r" (stack_top), - "K" (0), "K" (SYS_USER_BOOTED), - "r" (t->tid), "r" (fdt), "r" (initrd) + "K" (0), "r" (t->tid), "K" (SYS_USER_BOOTED), + "r" (fdt), "r" (initrd), "K" (1) : "memory"); /* we should never reach this */ unreachable(); |
