initcode64.S (389B)
1 # Initial process execs /init. 2 3 #include "syscall.h" 4 #include "traps.h" 5 6 7 # exec(init, argv) 8 .globl start 9 start: 10 mov $init, %rdi 11 mov $argv, %rsi 12 mov $SYS_exec, %rax 13 int $T_SYSCALL 14 15 # for(;;) exit(); 16 exit: 17 mov $SYS_exit, %rax 18 int $T_SYSCALL 19 jmp exit 20 21 # char init[] = "/init\0"; 22 init: 23 .string "/init\0" 24 25 # char *argv[] = { init, 0 }; 26 .p2align 2 27 argv: 28 .quad init 29 .quad 0 30