From c1daccd194b47955ba2ae581cf7db3466dbf6b62 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Wed, 26 Aug 2009 09:04:53 +0000 Subject: [PATCH] untested --- WEGA/src/lib/libc/sys/fcntl.s | 18 ++++++++++++++++++ WEGA/src/lib/libc/sys/fork.s | 23 +++++++++++++++++++++++ WEGA/src/lib/libc/sys/fstat.s | 17 +++++++++++++++++ WEGA/src/lib/libc/sys/getegid.s | 10 ++++++++++ WEGA/src/lib/libc/sys/geteuid.s | 10 ++++++++++ WEGA/src/lib/libc/sys/getgid.s | 10 ++++++++++ WEGA/src/lib/libc/sys/getpid.s | 10 ++++++++++ WEGA/src/lib/libc/sys/getppid.s | 12 ++++++++++++ WEGA/src/lib/libc/sys/getuid.s | 10 ++++++++++ WEGA/src/lib/libc/sys/ioctl.s | 18 ++++++++++++++++++ WEGA/src/lib/libc/sys/kill.s | 17 +++++++++++++++++ WEGA/src/lib/libc/sys/link.s | 17 +++++++++++++++++ WEGA/src/lib/libc/sys/lseek.s | 18 ++++++++++++++++++ 13 files changed, 190 insertions(+) create mode 100644 WEGA/src/lib/libc/sys/fcntl.s create mode 100644 WEGA/src/lib/libc/sys/fork.s create mode 100644 WEGA/src/lib/libc/sys/fstat.s create mode 100644 WEGA/src/lib/libc/sys/getegid.s create mode 100644 WEGA/src/lib/libc/sys/geteuid.s create mode 100644 WEGA/src/lib/libc/sys/getgid.s create mode 100644 WEGA/src/lib/libc/sys/getpid.s create mode 100644 WEGA/src/lib/libc/sys/getppid.s create mode 100644 WEGA/src/lib/libc/sys/getuid.s create mode 100644 WEGA/src/lib/libc/sys/ioctl.s create mode 100644 WEGA/src/lib/libc/sys/kill.s create mode 100644 WEGA/src/lib/libc/sys/link.s create mode 100644 WEGA/src/lib/libc/sys/lseek.s diff --git a/WEGA/src/lib/libc/sys/fcntl.s b/WEGA/src/lib/libc/sys/fcntl.s new file mode 100644 index 0000000..6da9bc7 --- /dev/null +++ b/WEGA/src/lib/libc/sys/fcntl.s @@ -0,0 +1,18 @@ +fcntl module + + external + _cerror + + global + fcntl procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + xor r4,r4 + sc #38 + ld r2,r4 + ret nc + jp cerror + end fcntl +end fcntl diff --git a/WEGA/src/lib/libc/sys/fork.s b/WEGA/src/lib/libc/sys/fork.s new file mode 100644 index 0000000..5d87d80 --- /dev/null +++ b/WEGA/src/lib/libc/sys/fork.s @@ -0,0 +1,23 @@ +fork module + + internal + _par_uid + word :=2 + + external + _cerror + + global + fork procedure + entry + sc #2 + jr uid + ld r2,r4 + ret nc + jp cerror +uid: + ld _par_uid,r4 + xorg r2,r2 + ret + end fork +end fork diff --git a/WEGA/src/lib/libc/sys/fstat.s b/WEGA/src/lib/libc/sys/fstat.s new file mode 100644 index 0000000..cad831c --- /dev/null +++ b/WEGA/src/lib/libc/sys/fstat.s @@ -0,0 +1,17 @@ +fstat module + + external + _cerror + + global + fstat procedure + entry + ld r0,r7 + ld r1,r6 + xor r4,r4 + sc #28 + ld r2,r4 + ret nc + jp cerror + end fstat +end fstat diff --git a/WEGA/src/lib/libc/sys/getegid.s b/WEGA/src/lib/libc/sys/getegid.s new file mode 100644 index 0000000..076510e --- /dev/null +++ b/WEGA/src/lib/libc/sys/getegid.s @@ -0,0 +1,10 @@ +getegid module + + global + getegid procedure + entry + sc #47 + ld r2,r5 + ret + end getegid +end getegid diff --git a/WEGA/src/lib/libc/sys/geteuid.s b/WEGA/src/lib/libc/sys/geteuid.s new file mode 100644 index 0000000..b674c4e --- /dev/null +++ b/WEGA/src/lib/libc/sys/geteuid.s @@ -0,0 +1,10 @@ +geteuid module + + global + geteuid procedure + entry + sc #24 + ld r2,r5 + ret + end geteuid +end geteuid diff --git a/WEGA/src/lib/libc/sys/getgid.s b/WEGA/src/lib/libc/sys/getgid.s new file mode 100644 index 0000000..083f668 --- /dev/null +++ b/WEGA/src/lib/libc/sys/getgid.s @@ -0,0 +1,10 @@ +getgid module + + global + getgid procedure + entry + sc #47 + ld r2,r4 + ret + end getgid +end getgid diff --git a/WEGA/src/lib/libc/sys/getpid.s b/WEGA/src/lib/libc/sys/getpid.s new file mode 100644 index 0000000..05248c9 --- /dev/null +++ b/WEGA/src/lib/libc/sys/getpid.s @@ -0,0 +1,10 @@ +getpid module + + global + getpid procedure + entry + sc #20 + ld r2,r4 + ret + end getpid +end getpid diff --git a/WEGA/src/lib/libc/sys/getppid.s b/WEGA/src/lib/libc/sys/getppid.s new file mode 100644 index 0000000..72647e3 --- /dev/null +++ b/WEGA/src/lib/libc/sys/getppid.s @@ -0,0 +1,12 @@ +getppid module + + global + getppid procedure + entry + xor r4,r4 + xor r5,r5 + sc #20 + ld r2,r5 + ret + end getppid +end getppid diff --git a/WEGA/src/lib/libc/sys/getuid.s b/WEGA/src/lib/libc/sys/getuid.s new file mode 100644 index 0000000..3c29af2 --- /dev/null +++ b/WEGA/src/lib/libc/sys/getuid.s @@ -0,0 +1,10 @@ +getuid module + + global + getuid procedure + entry + sc #24 + ld r2,r4 + ret + end getuid +end getuid diff --git a/WEGA/src/lib/libc/sys/ioctl.s b/WEGA/src/lib/libc/sys/ioctl.s new file mode 100644 index 0000000..e36d663 --- /dev/null +++ b/WEGA/src/lib/libc/sys/ioctl.s @@ -0,0 +1,18 @@ +ioctl module + + external + _cerror + + global + ioctl procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + xor r4,r4 + sc #54 + ld r2,r4 + ret nc + jp cerror + end ioctl +end ioctl diff --git a/WEGA/src/lib/libc/sys/kill.s b/WEGA/src/lib/libc/sys/kill.s new file mode 100644 index 0000000..9de445f --- /dev/null +++ b/WEGA/src/lib/libc/sys/kill.s @@ -0,0 +1,17 @@ +kill module + + external + _cerror + + global + kill procedure + entry + ld r0,r7 + ld r1,r6 + xor r4,r4 + sc #37 + ld r2,r4 + ret nc + jp cerror + end kill +end kill diff --git a/WEGA/src/lib/libc/sys/link.s b/WEGA/src/lib/libc/sys/link.s new file mode 100644 index 0000000..9c44e2d --- /dev/null +++ b/WEGA/src/lib/libc/sys/link.s @@ -0,0 +1,17 @@ +link module + + external + _cerror + + global + link procedure + entry + ld r0,r7 + ld r1,r6 + xor r4,r4 + sc #9 + ld r2,r4 + ret nc + jp cerror + end link +end link diff --git a/WEGA/src/lib/libc/sys/lseek.s b/WEGA/src/lib/libc/sys/lseek.s new file mode 100644 index 0000000..d486a42 --- /dev/null +++ b/WEGA/src/lib/libc/sys/lseek.s @@ -0,0 +1,18 @@ +lseek module + + external + _cerror + + global + lseek procedure + entry + ld r0,r7 + ld r1,r4 + ld r2,r5 + subl rr4,rr4 + sc #19 + ldl rr2,rr4 + ret nc + jp cerror + end lseek +end lseek