1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
# Initial process execs /init. #include "syscall.h" #include "traps.h" # exec(init, argv) start: pushl $argv pushl $init pushl $0 movl $SYS_exec, %eax int $T_SYSCALL # for(;;) exit(); exit: movl $SYS_exit, %eax int $T_SYSCALL jmp exit # "/init\0" init: .string "/init\0" .p2align 2 argv: .long init .long 0