user/usys.pl
44 lines
1#!/usr/bin/perl -w23# Generate usys.S, the stubs for syscalls.45print "# generated by usys.pl - do not edit\n";67print "#include \"kernel/syscall.h\"\n";89sub entry {10 my $prefix = "sys_";11 my $name = shift;12 if ($name eq "sbrk") {13 print ".global $prefix$name\n";14 print "$prefix$name:\n";15 } else {16 print ".global $name\n";17 print "$name:\n";18 }19 print " li a7, SYS_${name}\n";20 print " ecall\n";21 print " ret\n";22}23 24entry("fork");25entry("exit");26entry("wait");27entry("pipe");28entry("read");29entry("write");30entry("close");31entry("kill");32entry("exec");33entry("open");34entry("mknod");35entry("unlink");36entry("fstat");37entry("link");38entry("mkdir");39entry("chdir");40entry("dup");41entry("getpid");42entry("sbrk");43entry("pause");44entry("uptime");45