xv6

port of xv6 to x86-64
git clone http://frotz.net/git/xv6.git
Log | Files | Refs | README | LICENSE

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