From 68542b65bfd372878ad3f8b9167453f536cdfc35 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Wed, 26 Aug 2009 09:45:25 +0000 Subject: [PATCH] untested --- WEGA/src/lib/libc/sys/brk.s | 42 +++++++++++++++++++++++++++++++++ WEGA/src/lib/libc/sys/exit.s | 3 --- WEGA/src/lib/libc/sys/mknod.s | 18 ++++++++++++++ WEGA/src/lib/libc/sys/mount.s | 18 ++++++++++++++ WEGA/src/lib/libc/sys/nice.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/open.s | 17 +++++++++++++ WEGA/src/lib/libc/sys/pipe.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/profil.s | 17 +++++++++++++ WEGA/src/lib/libc/sys/ptrace.s | 24 +++++++++++++++++++ WEGA/src/lib/libc/sys/read.s | 17 +++++++++++++ WEGA/src/lib/libc/sys/setgid.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/setpgrp.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/setuid.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/stat.s | 17 +++++++++++++ WEGA/src/lib/libc/sys/stime.s | 16 +++++++++++++ WEGA/src/lib/libc/sys/sync.s | 9 +++++++ 16 files changed, 275 insertions(+), 3 deletions(-) create mode 100644 WEGA/src/lib/libc/sys/brk.s create mode 100644 WEGA/src/lib/libc/sys/mknod.s create mode 100644 WEGA/src/lib/libc/sys/mount.s create mode 100644 WEGA/src/lib/libc/sys/nice.s create mode 100644 WEGA/src/lib/libc/sys/open.s create mode 100644 WEGA/src/lib/libc/sys/pipe.s create mode 100644 WEGA/src/lib/libc/sys/profil.s create mode 100644 WEGA/src/lib/libc/sys/ptrace.s create mode 100644 WEGA/src/lib/libc/sys/read.s create mode 100644 WEGA/src/lib/libc/sys/setgid.s create mode 100644 WEGA/src/lib/libc/sys/setpgrp.s create mode 100644 WEGA/src/lib/libc/sys/setuid.s create mode 100644 WEGA/src/lib/libc/sys/stat.s create mode 100644 WEGA/src/lib/libc/sys/stime.s create mode 100644 WEGA/src/lib/libc/sys/sync.s diff --git a/WEGA/src/lib/libc/sys/brk.s b/WEGA/src/lib/libc/sys/brk.s new file mode 100644 index 0000000..8afe6be --- /dev/null +++ b/WEGA/src/lib/libc/sys/brk.s @@ -0,0 +1,42 @@ +brk module + + external + _end + _cerror + + internal + nd + word :=2 + _end + + global + brk procedure + entry + ld r0,r7 + xor r4,r4 + sc #17 + ld r2,r4 + jp c,cerror + ld nd,r0 + ret + end brk + + sbrk procedure + entry + ld r0,r7 + ld r2,nd + add r0,r2 + ld r1,r0 + dec r1,#1 + dec r2,#2 + cpb rh1,rh2 + jr z,t1 + sc #17 + ld r2,r4 + jp c,cerror +t1: + ld r2,nd + ld nd,r0 + ret + end sbrk +end brk diff --git a/WEGA/src/lib/libc/sys/exit.s b/WEGA/src/lib/libc/sys/exit.s index e9b36a5..77892f8 100644 --- a/WEGA/src/lib/libc/sys/exit.s +++ b/WEGA/src/lib/libc/sys/exit.s @@ -1,8 +1,5 @@ exit module - external - _cerror - global exit procedure entry diff --git a/WEGA/src/lib/libc/sys/mknod.s b/WEGA/src/lib/libc/sys/mknod.s new file mode 100644 index 0000000..f78a581 --- /dev/null +++ b/WEGA/src/lib/libc/sys/mknod.s @@ -0,0 +1,18 @@ +mknod module + + external + _cerror + + global + mknod procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + xor r4,r4 + sc #14 + ld r2,r4 + ret nc + jp cerror + end mknod +end mknod diff --git a/WEGA/src/lib/libc/sys/mount.s b/WEGA/src/lib/libc/sys/mount.s new file mode 100644 index 0000000..3b9b175 --- /dev/null +++ b/WEGA/src/lib/libc/sys/mount.s @@ -0,0 +1,18 @@ +mount module + + external + _cerror + + global + mount procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + xor r4,r4 + sc #21 + ld r2,r4 + ret nc + jp cerror + end mount +end mount diff --git a/WEGA/src/lib/libc/sys/nice.s b/WEGA/src/lib/libc/sys/nice.s new file mode 100644 index 0000000..cc21d7a --- /dev/null +++ b/WEGA/src/lib/libc/sys/nice.s @@ -0,0 +1,16 @@ +nice module + + external + _cerror + + global + nice procedure + entry + ld r0,r7 + xor r4,r4 + sc #34 + ld r2,r4 + ret nc + jp cerror + end nice +end nice diff --git a/WEGA/src/lib/libc/sys/open.s b/WEGA/src/lib/libc/sys/open.s new file mode 100644 index 0000000..1881f36 --- /dev/null +++ b/WEGA/src/lib/libc/sys/open.s @@ -0,0 +1,17 @@ +open module + + external + _cerror + + global + open procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + sc #5 + ld r2,r4 + ret nc + jp cerror + end open +end open diff --git a/WEGA/src/lib/libc/sys/pipe.s b/WEGA/src/lib/libc/sys/pipe.s new file mode 100644 index 0000000..e71d27d --- /dev/null +++ b/WEGA/src/lib/libc/sys/pipe.s @@ -0,0 +1,16 @@ +pipe module + + external + _cerror + + global + pipe procedure + entry + sc #42 + ld r2,r4 + jp c,cerror + ldl @r7,rr4 + xor r2,r2 + ret + end pipe +end pipe diff --git a/WEGA/src/lib/libc/sys/profil.s b/WEGA/src/lib/libc/sys/profil.s new file mode 100644 index 0000000..9cb1622 --- /dev/null +++ b/WEGA/src/lib/libc/sys/profil.s @@ -0,0 +1,17 @@ +profil module + + external + _cerror + + global + profil procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + ld r3,r4 + sc #44 + xor r2,r2 + ret + end profil +end profil diff --git a/WEGA/src/lib/libc/sys/ptrace.s b/WEGA/src/lib/libc/sys/ptrace.s new file mode 100644 index 0000000..49104ca --- /dev/null +++ b/WEGA/src/lib/libc/sys/ptrace.s @@ -0,0 +1,24 @@ +ptrace module + + internal + _errno + word :=2 + + external + _cerror + + global + ptrace procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + ld r3,r4 + xor r4,r4 + ld _errno,r4 + sc #26 + ld r2,r4 + ret nc + jp cerror + end ptrace +end ptrace diff --git a/WEGA/src/lib/libc/sys/read.s b/WEGA/src/lib/libc/sys/read.s new file mode 100644 index 0000000..81ca46f --- /dev/null +++ b/WEGA/src/lib/libc/sys/read.s @@ -0,0 +1,17 @@ +read module + + external + _cerror + + global + read procedure + entry + ld r0,r7 + ld r1,r6 + ld r2,r5 + sc #3 + ld r2,r4 + ret nc + jp cerror + end read +end read diff --git a/WEGA/src/lib/libc/sys/setgid.s b/WEGA/src/lib/libc/sys/setgid.s new file mode 100644 index 0000000..a20b384 --- /dev/null +++ b/WEGA/src/lib/libc/sys/setgid.s @@ -0,0 +1,16 @@ +setgid module + + external + _cerror + + global + setgid procedure + entry + ld r0,r7 + xor r4,r4 + sc #46 + ld r2,r4 + ret nc + jp cerror + end setgid +end setgid diff --git a/WEGA/src/lib/libc/sys/setpgrp.s b/WEGA/src/lib/libc/sys/setpgrp.s new file mode 100644 index 0000000..ffa910b --- /dev/null +++ b/WEGA/src/lib/libc/sys/setpgrp.s @@ -0,0 +1,16 @@ +setpgrp module + + external + _cerror + + global + setpgrp procedure + entry + ld r0,#%0001 + xor r4,r4 + sc #39 + ld r2,r4 + ret nc + jp cerror + end setpgrp +end setpgrp diff --git a/WEGA/src/lib/libc/sys/setuid.s b/WEGA/src/lib/libc/sys/setuid.s new file mode 100644 index 0000000..bb3dd9f --- /dev/null +++ b/WEGA/src/lib/libc/sys/setuid.s @@ -0,0 +1,16 @@ +setuid module + + external + _cerror + + global + setuid procedure + entry + ld r0,r7 + xor r4,r4 + sc #23 + ld r2,r4 + ret nc + jp cerror + end setuid +end setuid diff --git a/WEGA/src/lib/libc/sys/stat.s b/WEGA/src/lib/libc/sys/stat.s new file mode 100644 index 0000000..8ebf5a1 --- /dev/null +++ b/WEGA/src/lib/libc/sys/stat.s @@ -0,0 +1,17 @@ +stat module + + external + _cerror + + global + stat procedure + entry + ld r0,r7 + ld r1,r6 + xor r4,r4 + sc #18 + ld r2,r4 + ret nc + jp cerror + end stat +end stat diff --git a/WEGA/src/lib/libc/sys/stime.s b/WEGA/src/lib/libc/sys/stime.s new file mode 100644 index 0000000..5ae73bb --- /dev/null +++ b/WEGA/src/lib/libc/sys/stime.s @@ -0,0 +1,16 @@ +stime module + + external + _cerror + + global + stime procedure + entry + ldl rr0,@r7 + xor r4,r4 + sc #25 + ld r2,r4 + ret nc + jp cerror + end stime +end stime diff --git a/WEGA/src/lib/libc/sys/sync.s b/WEGA/src/lib/libc/sys/sync.s new file mode 100644 index 0000000..acc4a85 --- /dev/null +++ b/WEGA/src/lib/libc/sys/sync.s @@ -0,0 +1,9 @@ +sync module + + global + sync procedure + entry + sc #36 + ret + end sync +end sync