first commit
This commit is contained in:
28
user/initcode.S
Normal file
28
user/initcode.S
Normal file
@@ -0,0 +1,28 @@
|
||||
# Initial process that execs /init.
|
||||
# This code runs in user space.
|
||||
|
||||
#include "syscall.h"
|
||||
|
||||
# exec(init, argv)
|
||||
.globl start
|
||||
start:
|
||||
la a0, init
|
||||
la a1, argv
|
||||
li a7, SYS_exec
|
||||
ecall
|
||||
|
||||
# for(;;) exit();
|
||||
exit:
|
||||
li a7, SYS_exit
|
||||
ecall
|
||||
jal exit
|
||||
|
||||
# char init[] = "/init\0";
|
||||
init:
|
||||
.string "/init\0"
|
||||
|
||||
# char *argv[] = { init, 0 };
|
||||
.p2align 2
|
||||
argv:
|
||||
.long init
|
||||
.long 0
|
||||
Reference in New Issue
Block a user