xv6

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

usys.S (461B)


      1 #include "syscall.h"
      2 #include "traps.h"
      3 
      4 #define SYSCALL(name) \
      5   .globl name; \
      6   name: \
      7     movl $SYS_ ## name, %eax; \
      8     int $T_SYSCALL; \
      9     ret
     10 
     11 SYSCALL(fork)
     12 SYSCALL(exit)
     13 SYSCALL(wait)
     14 SYSCALL(pipe)
     15 SYSCALL(read)
     16 SYSCALL(write)
     17 SYSCALL(close)
     18 SYSCALL(kill)
     19 SYSCALL(exec)
     20 SYSCALL(open)
     21 SYSCALL(mknod)
     22 SYSCALL(unlink)
     23 SYSCALL(fstat)
     24 SYSCALL(link)
     25 SYSCALL(mkdir)
     26 SYSCALL(chdir)
     27 SYSCALL(dup)
     28 SYSCALL(getpid)
     29 SYSCALL(sbrk)
     30 SYSCALL(sleep)
     31 SYSCALL(uptime)