// Initial process that execs /init. // This code runs in user space. #include // exec(init, argv) .globl start start: la a0, init la a1, argv addi a2, a1, 8 li a7, SYS_execve ecall // for(;;) exit(); exit: li a7, SYS_exit ecall jal exit // char init[] = "/init\0"; init: .string "/init\0" // char *argv[] = { init, 0 }; .p2align 3 argv: .quad init .quad 0