From: ceriel Date: Wed, 6 Oct 1993 17:04:49 +0000 (+0000) Subject: Added sparc_solaris stuff X-Git-Tag: release-5-5~291 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=9e7c8d2c9fa3c07d4707936605b89dfc4ae0de9e;p=ack.git Added sparc_solaris stuff --- diff --git a/mach/sparc_solaris/libsys/.distr b/mach/sparc_solaris/libsys/.distr new file mode 100644 index 000000000..0a68a588d --- /dev/null +++ b/mach/sparc_solaris/libsys/.distr @@ -0,0 +1,4 @@ +LIST +libmon_s.a +head_em.s +SYS.h diff --git a/mach/sparc_solaris/libsys/LIST b/mach/sparc_solaris/libsys/LIST new file mode 100644 index 000000000..44e727368 --- /dev/null +++ b/mach/sparc_solaris/libsys/LIST @@ -0,0 +1,142 @@ +libmon_s.a +_execl.c +cleanup.c +execl.c +execle.c +execv.c +exit.c +tell.c +signal.c +_alarm.s +_brk.s +_close.s +_creat.s +_dup.s +_dup2.s +_execve.s +_exit.s +_fork.s +_fstat.s +_getpid.s +_gtty.s +_ioctl.s +_kill.s +_link.s +_lseek.s +_open.s +_pause.s +_pipe.s +_read.s +_signal.s +_sig_catch.s +_stty.s +_times.s +_unlink.s +_wait.s +_write.s +access.s +acct.s +adjtime.s +alarm.s +brk.s +chdir.s +chmod.s +chown.s +chroot.s +close.s +creat.s +dup.s +dup2.s +execve.s +fchdir.s +fchmod.s +fchown.s +fchroot.s +fcntl.s +fork.s +fstat.s +fsync.s +ftruncate.s +getdents.s +getegid.s +geteuid.s +getgid.s +getgroups.s +getitimer.s +getmsg.s +getpgid.s +getpgrp.s +getpid.s +getpmsg.s +getppid.s +getrlimit.s +getsid.s +gettimeofday.s +getuid.s +gtty.s +ioctl.s +kill.s +lchown.s +link.s +lockf.s +lseek.s +lstat.s +mincore.s +mkdir.s +mknod.s +mmap.s +mount.s +mprotect.s +munmap.s +nice.s +open.s +pause.s +pipe.s +plock.s +poll.s +pread.s +profil.s +ptrace.s +putmsg.s +putpmsg.s +pwrite.s +read.s +readlink.s +readv.s +rename.s +rmdir.s +setegid.s +seteuid.s +setgid.s +setgroups.s +setitimer.s +setpgrp.s +setrlimit.s +setsid.s +settimeofday.s +setuid.s +sighold.s +sigignore.s +sigpause.s +sigrelse.s +sigset.s +stat.s +stime.s +stty.s +symlink.s +sync.s +time.s +times.s +truncate.s +ulimit.s +umask.s +umount.s +uname.s +unlink.s +utime.s +utimes.s +vfork.s +wait.s +write.s +writev.s +cerror.s diff --git a/mach/sparc_solaris/libsys/SYS.h b/mach/sparc_solaris/libsys/SYS.h new file mode 100644 index 000000000..d69092c3d --- /dev/null +++ b/mach/sparc_solaris/libsys/SYS.h @@ -0,0 +1,119 @@ +/* +SYS.h +*/ + +#ifndef SYS_H +#define SYS_H + +#define SYS_call_0(x) \ + LABEL_(x); \ + BODY(x) + +#define _SYS_call_0(x) \ + LABEL__(x); \ + BODY(x) + +#define SYS_call_1(x) \ + LABEL_(x); \ + ENTRY1; \ + BODY(x) + +#define _SYS_call_1(x) \ + LABEL__(x); \ + ENTRY1; \ + BODY(x) + +#define SYS_call_2(x) \ + LABEL_(x); \ + ENTRY2; \ + BODY(x) + +#define _SYS_call_2(x) \ + LABEL__(x); \ + ENTRY2; \ + BODY(x) + +#define SYS_call_3(x) \ + LABEL_(x); \ + ENTRY3; \ + BODY(x) + +#define _SYS_call_3(x) \ + LABEL__(x); \ + ENTRY3; \ + BODY(x) + +#define SYS_call_4(x) \ + LABEL_(x); \ + ENTRY4; \ + BODY(x) + +#define _SYS_call_4(x) \ + LABEL__(x); \ + ENTRY4; \ + BODY(x) + +#define SYS_call_5(x) \ + LABEL_(x); \ + ENTRY5; \ + BODY(x) + +#define _SYS_call_5(x) \ + LABEL__(x); \ + ENTRY5; \ + BODY(x) + +#define SYS_call_6(x) \ + LABEL_(x); \ + ENTRY6; \ + BODY(x) + +#define _SYS_call_6(x) \ + LABEL__(x); \ + ENTRY6; \ + BODY(x) + +#define BODY(x) \ + b x; \ + nop + +#if __STDC__ +#define LABEL_(x) \ + .global $ ## x; \ + $ ## x: +#define LABEL__(x) \ + .global $_ ## x; \ + $_ ## x: +#else +#define LABEL_(x) \ + .global $/**/x; \ + $/**/x: +#define LABEL__(x) \ + .global $_/**/x; \ + $_/**/x: +#endif + +#define ENTRY1 \ + ld [%l0], %o0 \ + +#define ENTRY2 \ + ENTRY1; \ + ld [%l0+4], %o1 \ + +#define ENTRY3 \ + ENTRY2; \ + ld [%l0+8], %o2 \ + +#define ENTRY4 \ + ENTRY3; \ + ld [%l0+12], %o3 \ + +#define ENTRY5 \ + ENTRY4; \ + ld [%l0+16], %o4 \ + +#define ENTRY6 \ + ENTRY5; \ + ld [%l0+20], %o5 \ + +#endif /* SYS_H */ diff --git a/mach/sparc_solaris/libsys/_alarm.s b/mach/sparc_solaris/libsys/_alarm.s new file mode 100644 index 000000000..cabcd34e4 --- /dev/null +++ b/mach/sparc_solaris/libsys/_alarm.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(alarm) diff --git a/mach/sparc_solaris/libsys/_brk.s b/mach/sparc_solaris/libsys/_brk.s new file mode 100644 index 000000000..aee44f7c4 --- /dev/null +++ b/mach/sparc_solaris/libsys/_brk.s @@ -0,0 +1,44 @@ +#include "SYS.h" + +LABEL__(brk) + mov %o7,%g2 + ld [%l0], %o0 + inc 7, %o0 + andn %o0, 7, %o0 + call brk + mov %o0, %o2 + mov %g2,%o7 + tst %o0 + bge 0f + nop + retl + nop +0: + set limhp, %g1 + st %o2, [%g1] + retl + nop + + +LABEL__(sbrk) + mov %o7,%g2 + ld [%l0], %o0 + inc 7, %o0 + andn %o0, 7, %o0 + set limhp, %o1 + ld [%o1], %o2 + inc 7, %o2 + andn %o2, 7, %o3 + add %o3, %o0, %o0 + call brk + mov %o0, %o4 + mov %g2,%o7 + tst %o0 + blt 0f + nop + set limhp, %g1 + st %o4, [%g1] + mov %o3, %o0 +0: + retl + nop diff --git a/mach/sparc_solaris/libsys/_close.s b/mach/sparc_solaris/libsys/_close.s new file mode 100644 index 000000000..757e782eb --- /dev/null +++ b/mach/sparc_solaris/libsys/_close.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(close) diff --git a/mach/sparc_solaris/libsys/_creat.s b/mach/sparc_solaris/libsys/_creat.s new file mode 100644 index 000000000..49110f33c --- /dev/null +++ b/mach/sparc_solaris/libsys/_creat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(creat) diff --git a/mach/sparc_solaris/libsys/_dup.s b/mach/sparc_solaris/libsys/_dup.s new file mode 100644 index 000000000..8cfdc7d94 --- /dev/null +++ b/mach/sparc_solaris/libsys/_dup.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(dup) diff --git a/mach/sparc_solaris/libsys/_dup2.s b/mach/sparc_solaris/libsys/_dup2.s new file mode 100644 index 000000000..7d5fcf006 --- /dev/null +++ b/mach/sparc_solaris/libsys/_dup2.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(dup2) diff --git a/mach/sparc_solaris/libsys/_execl.c b/mach/sparc_solaris/libsys/_execl.c new file mode 100644 index 000000000..93b8a379d --- /dev/null +++ b/mach/sparc_solaris/libsys/_execl.c @@ -0,0 +1,8 @@ +_execl(name,args) + char *name; + int args; +{ + extern char **environ; + + _execve(name,&args,environ); +} diff --git a/mach/sparc_solaris/libsys/_execve.s b/mach/sparc_solaris/libsys/_execve.s new file mode 100644 index 000000000..e44a98fff --- /dev/null +++ b/mach/sparc_solaris/libsys/_execve.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(execve) diff --git a/mach/sparc_solaris/libsys/_exit.s b/mach/sparc_solaris/libsys/_exit.s new file mode 100644 index 000000000..ab7c806fd --- /dev/null +++ b/mach/sparc_solaris/libsys/_exit.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(exit) diff --git a/mach/sparc_solaris/libsys/_fork.s b/mach/sparc_solaris/libsys/_fork.s new file mode 100644 index 000000000..9d60aae66 --- /dev/null +++ b/mach/sparc_solaris/libsys/_fork.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_0(fork) diff --git a/mach/sparc_solaris/libsys/_fstat.s b/mach/sparc_solaris/libsys/_fstat.s new file mode 100644 index 000000000..9532771f0 --- /dev/null +++ b/mach/sparc_solaris/libsys/_fstat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(fstat) diff --git a/mach/sparc_solaris/libsys/_getpid.s b/mach/sparc_solaris/libsys/_getpid.s new file mode 100644 index 000000000..af2d2bfe4 --- /dev/null +++ b/mach/sparc_solaris/libsys/_getpid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_0(getpid) diff --git a/mach/sparc_solaris/libsys/_gtty.s b/mach/sparc_solaris/libsys/_gtty.s new file mode 100644 index 000000000..b4738dc4e --- /dev/null +++ b/mach/sparc_solaris/libsys/_gtty.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(gtty) diff --git a/mach/sparc_solaris/libsys/_ioctl.s b/mach/sparc_solaris/libsys/_ioctl.s new file mode 100644 index 000000000..b91c7169c --- /dev/null +++ b/mach/sparc_solaris/libsys/_ioctl.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(ioctl) diff --git a/mach/sparc_solaris/libsys/_kill.s b/mach/sparc_solaris/libsys/_kill.s new file mode 100644 index 000000000..49b69a132 --- /dev/null +++ b/mach/sparc_solaris/libsys/_kill.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(kill) diff --git a/mach/sparc_solaris/libsys/_link.s b/mach/sparc_solaris/libsys/_link.s new file mode 100644 index 000000000..1cceebef4 --- /dev/null +++ b/mach/sparc_solaris/libsys/_link.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(link) diff --git a/mach/sparc_solaris/libsys/_lseek.s b/mach/sparc_solaris/libsys/_lseek.s new file mode 100644 index 000000000..617f2b5ce --- /dev/null +++ b/mach/sparc_solaris/libsys/_lseek.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(lseek) diff --git a/mach/sparc_solaris/libsys/_open.s b/mach/sparc_solaris/libsys/_open.s new file mode 100644 index 000000000..ba2eba1e7 --- /dev/null +++ b/mach/sparc_solaris/libsys/_open.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(open) diff --git a/mach/sparc_solaris/libsys/_pause.s b/mach/sparc_solaris/libsys/_pause.s new file mode 100644 index 000000000..fdcd79a04 --- /dev/null +++ b/mach/sparc_solaris/libsys/_pause.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_0(pause) diff --git a/mach/sparc_solaris/libsys/_pipe.s b/mach/sparc_solaris/libsys/_pipe.s new file mode 100644 index 000000000..a7807a80b --- /dev/null +++ b/mach/sparc_solaris/libsys/_pipe.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(pipe) diff --git a/mach/sparc_solaris/libsys/_read.s b/mach/sparc_solaris/libsys/_read.s new file mode 100644 index 000000000..4af50aab9 --- /dev/null +++ b/mach/sparc_solaris/libsys/_read.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(read) diff --git a/mach/sparc_solaris/libsys/_sig_catch.s b/mach/sparc_solaris/libsys/_sig_catch.s new file mode 100644 index 000000000..b018b5f18 --- /dev/null +++ b/mach/sparc_solaris/libsys/_sig_catch.s @@ -0,0 +1,21 @@ +#include "SYS.h" + +LABEL__(sig_catch) + save %sp, %g4, %sp + mov %fp, %l0 ! get new EM frame pointer + + dec 4, %l0 + st %i0, [%l0] ! push signal number on EM stack + + set $_sig_funcs, %l1 + dec 1, %i0 + sll %i0, 2, %l2 + add %l1, %l2, %l3 + ld [%l3], %l2 ! get signal handler into %l2 + + call %l2 + nop + + restore + retl + add %sp,%g4,%sp diff --git a/mach/sparc_solaris/libsys/_signal.s b/mach/sparc_solaris/libsys/_signal.s new file mode 100644 index 000000000..81ea2bf79 --- /dev/null +++ b/mach/sparc_solaris/libsys/_signal.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(signal) diff --git a/mach/sparc_solaris/libsys/_stty.s b/mach/sparc_solaris/libsys/_stty.s new file mode 100644 index 000000000..0f3b6f569 --- /dev/null +++ b/mach/sparc_solaris/libsys/_stty.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_2(stty) diff --git a/mach/sparc_solaris/libsys/_times.s b/mach/sparc_solaris/libsys/_times.s new file mode 100644 index 000000000..63efc517b --- /dev/null +++ b/mach/sparc_solaris/libsys/_times.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(times) diff --git a/mach/sparc_solaris/libsys/_unlink.s b/mach/sparc_solaris/libsys/_unlink.s new file mode 100644 index 000000000..d6395280f --- /dev/null +++ b/mach/sparc_solaris/libsys/_unlink.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(unlink) diff --git a/mach/sparc_solaris/libsys/_wait.s b/mach/sparc_solaris/libsys/_wait.s new file mode 100644 index 000000000..8c97b675d --- /dev/null +++ b/mach/sparc_solaris/libsys/_wait.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_1(wait) diff --git a/mach/sparc_solaris/libsys/_write.s b/mach/sparc_solaris/libsys/_write.s new file mode 100644 index 000000000..5c0e7a3b1 --- /dev/null +++ b/mach/sparc_solaris/libsys/_write.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +_SYS_call_3(write) diff --git a/mach/sparc_solaris/libsys/access.s b/mach/sparc_solaris/libsys/access.s new file mode 100644 index 000000000..6f31e739c --- /dev/null +++ b/mach/sparc_solaris/libsys/access.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_2(access) + diff --git a/mach/sparc_solaris/libsys/acct.s b/mach/sparc_solaris/libsys/acct.s new file mode 100644 index 000000000..c50c36197 --- /dev/null +++ b/mach/sparc_solaris/libsys/acct.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(acct) diff --git a/mach/sparc_solaris/libsys/adjtime.s b/mach/sparc_solaris/libsys/adjtime.s new file mode 100644 index 000000000..eeba608a8 --- /dev/null +++ b/mach/sparc_solaris/libsys/adjtime.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(adjtime) diff --git a/mach/sparc_solaris/libsys/alarm.s b/mach/sparc_solaris/libsys/alarm.s new file mode 100644 index 000000000..c79a76216 --- /dev/null +++ b/mach/sparc_solaris/libsys/alarm.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(alarm) diff --git a/mach/sparc_solaris/libsys/brk.s b/mach/sparc_solaris/libsys/brk.s new file mode 100644 index 000000000..ce9da391f --- /dev/null +++ b/mach/sparc_solaris/libsys/brk.s @@ -0,0 +1,44 @@ +#include "SYS.h" + +LABEL_(brk) + mov %o7,%g2 + ld [%l0], %o0 + inc 7, %o0 + andn %o0, 7, %o0 + call brk + mov %o0, %o2 + mov %g2,%o7 + tst %o0 + bge 0f + nop + retl + nop +0: + set limhp, %g1 + st %o2, [%g1] + retl + nop + + +LABEL_(sbrk) + mov %o7,%g2 + ld [%l0], %o0 + inc 7, %o0 + andn %o0, 7, %o0 + set limhp, %o1 + ld [%o1], %o2 + inc 7, %o2 + andn %o2, 7, %o3 + add %o3, %o0, %o0 + call brk + mov %o0, %o4 + mov %g2,%o7 + tst %o0 + blt 0f + nop + set limhp, %g1 + st %o4, [%g1] + mov %o3, %o0 +0: + retl + nop diff --git a/mach/sparc_solaris/libsys/cerror.s b/mach/sparc_solaris/libsys/cerror.s new file mode 100644 index 000000000..ad5910523 --- /dev/null +++ b/mach/sparc_solaris/libsys/cerror.s @@ -0,0 +1,18 @@ +.global $errno, cerror, _cerror + +.type _cerror, #function + +.section ".text" +cerror: +_cerror: + set $errno, %o5 + st %o0, [%o5] + set errno, %o5 + st %o0, [%o5] + set -1, %o0 + retl + nop + +.section ".data" +$errno: + .long 0 diff --git a/mach/sparc_solaris/libsys/chdir.s b/mach/sparc_solaris/libsys/chdir.s new file mode 100644 index 000000000..b7023ffe0 --- /dev/null +++ b/mach/sparc_solaris/libsys/chdir.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(chdir) diff --git a/mach/sparc_solaris/libsys/chmod.s b/mach/sparc_solaris/libsys/chmod.s new file mode 100644 index 000000000..849e43380 --- /dev/null +++ b/mach/sparc_solaris/libsys/chmod.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(chmod) diff --git a/mach/sparc_solaris/libsys/chown.s b/mach/sparc_solaris/libsys/chown.s new file mode 100644 index 000000000..fabd62aff --- /dev/null +++ b/mach/sparc_solaris/libsys/chown.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(chown) diff --git a/mach/sparc_solaris/libsys/chroot.s b/mach/sparc_solaris/libsys/chroot.s new file mode 100644 index 000000000..f090698ba --- /dev/null +++ b/mach/sparc_solaris/libsys/chroot.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(chroot) diff --git a/mach/sparc_solaris/libsys/cleanup.c b/mach/sparc_solaris/libsys/cleanup.c new file mode 100644 index 000000000..6cd9c63e6 --- /dev/null +++ b/mach/sparc_solaris/libsys/cleanup.c @@ -0,0 +1 @@ +_cleanup() { } diff --git a/mach/sparc_solaris/libsys/close.s b/mach/sparc_solaris/libsys/close.s new file mode 100644 index 000000000..c72654232 --- /dev/null +++ b/mach/sparc_solaris/libsys/close.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(close) diff --git a/mach/sparc_solaris/libsys/creat.s b/mach/sparc_solaris/libsys/creat.s new file mode 100644 index 000000000..3798974a5 --- /dev/null +++ b/mach/sparc_solaris/libsys/creat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(creat) diff --git a/mach/sparc_solaris/libsys/dup.s b/mach/sparc_solaris/libsys/dup.s new file mode 100644 index 000000000..26872ed02 --- /dev/null +++ b/mach/sparc_solaris/libsys/dup.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(dup) diff --git a/mach/sparc_solaris/libsys/dup2.s b/mach/sparc_solaris/libsys/dup2.s new file mode 100644 index 000000000..1468d78a1 --- /dev/null +++ b/mach/sparc_solaris/libsys/dup2.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(dup2) diff --git a/mach/sparc_solaris/libsys/execl.c b/mach/sparc_solaris/libsys/execl.c new file mode 100644 index 000000000..9989439b1 --- /dev/null +++ b/mach/sparc_solaris/libsys/execl.c @@ -0,0 +1,8 @@ +execl(name,args) + char *name; + int args; +{ + extern char **environ; + + execve(name,&args,environ); +} diff --git a/mach/sparc_solaris/libsys/execle.c b/mach/sparc_solaris/libsys/execle.c new file mode 100644 index 000000000..aed036387 --- /dev/null +++ b/mach/sparc_solaris/libsys/execle.c @@ -0,0 +1,9 @@ +execle(name,args) + char *name; + char *args; +{ + char **p = &args; + while (*p++) ; + + execve(name,&args,*p); +} diff --git a/mach/sparc_solaris/libsys/execv.c b/mach/sparc_solaris/libsys/execv.c new file mode 100644 index 000000000..200486f63 --- /dev/null +++ b/mach/sparc_solaris/libsys/execv.c @@ -0,0 +1,7 @@ +execv(name,args) + char *name; + char **args; +{ + extern char **environ; + execve(name,args,environ); +} diff --git a/mach/sparc_solaris/libsys/execve.s b/mach/sparc_solaris/libsys/execve.s new file mode 100644 index 000000000..01ab6beb7 --- /dev/null +++ b/mach/sparc_solaris/libsys/execve.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(execve) diff --git a/mach/sparc_solaris/libsys/exit.c b/mach/sparc_solaris/libsys/exit.c new file mode 100644 index 000000000..afd54b3f7 --- /dev/null +++ b/mach/sparc_solaris/libsys/exit.c @@ -0,0 +1,5 @@ +exit(n) +{ + _cleanup(); + _exit(n); +} diff --git a/mach/sparc_solaris/libsys/fchdir.s b/mach/sparc_solaris/libsys/fchdir.s new file mode 100644 index 000000000..6d94145b7 --- /dev/null +++ b/mach/sparc_solaris/libsys/fchdir.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(fchdir) diff --git a/mach/sparc_solaris/libsys/fchmod.s b/mach/sparc_solaris/libsys/fchmod.s new file mode 100644 index 000000000..e9a8605a3 --- /dev/null +++ b/mach/sparc_solaris/libsys/fchmod.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(fchmod) diff --git a/mach/sparc_solaris/libsys/fchown.s b/mach/sparc_solaris/libsys/fchown.s new file mode 100644 index 000000000..e7877fdf5 --- /dev/null +++ b/mach/sparc_solaris/libsys/fchown.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(fchown) diff --git a/mach/sparc_solaris/libsys/fchroot.s b/mach/sparc_solaris/libsys/fchroot.s new file mode 100644 index 000000000..e3a609b26 --- /dev/null +++ b/mach/sparc_solaris/libsys/fchroot.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(fchroot) diff --git a/mach/sparc_solaris/libsys/fcntl.s b/mach/sparc_solaris/libsys/fcntl.s new file mode 100644 index 000000000..c0dc408e7 --- /dev/null +++ b/mach/sparc_solaris/libsys/fcntl.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_3(fcntl) + diff --git a/mach/sparc_solaris/libsys/fork.s b/mach/sparc_solaris/libsys/fork.s new file mode 100644 index 000000000..99b4d21ad --- /dev/null +++ b/mach/sparc_solaris/libsys/fork.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(fork) diff --git a/mach/sparc_solaris/libsys/fstat.s b/mach/sparc_solaris/libsys/fstat.s new file mode 100644 index 000000000..b6d80b481 --- /dev/null +++ b/mach/sparc_solaris/libsys/fstat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(fstat) diff --git a/mach/sparc_solaris/libsys/fsync.s b/mach/sparc_solaris/libsys/fsync.s new file mode 100644 index 000000000..39e67ef39 --- /dev/null +++ b/mach/sparc_solaris/libsys/fsync.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(fsync) diff --git a/mach/sparc_solaris/libsys/ftruncate.s b/mach/sparc_solaris/libsys/ftruncate.s new file mode 100644 index 000000000..535165ece --- /dev/null +++ b/mach/sparc_solaris/libsys/ftruncate.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(ftruncate) diff --git a/mach/sparc_solaris/libsys/getdents.s b/mach/sparc_solaris/libsys/getdents.s new file mode 100644 index 000000000..5d3309ffb --- /dev/null +++ b/mach/sparc_solaris/libsys/getdents.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(getdents) diff --git a/mach/sparc_solaris/libsys/getegid.s b/mach/sparc_solaris/libsys/getegid.s new file mode 100644 index 000000000..c99420516 --- /dev/null +++ b/mach/sparc_solaris/libsys/getegid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(getegid) diff --git a/mach/sparc_solaris/libsys/geteuid.s b/mach/sparc_solaris/libsys/geteuid.s new file mode 100644 index 000000000..098e215df --- /dev/null +++ b/mach/sparc_solaris/libsys/geteuid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(geteuid) diff --git a/mach/sparc_solaris/libsys/getgid.s b/mach/sparc_solaris/libsys/getgid.s new file mode 100644 index 000000000..98e4cab1f --- /dev/null +++ b/mach/sparc_solaris/libsys/getgid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(getgid) diff --git a/mach/sparc_solaris/libsys/getgroups.s b/mach/sparc_solaris/libsys/getgroups.s new file mode 100644 index 000000000..23e1bda92 --- /dev/null +++ b/mach/sparc_solaris/libsys/getgroups.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(getgroups) diff --git a/mach/sparc_solaris/libsys/getitimer.s b/mach/sparc_solaris/libsys/getitimer.s new file mode 100644 index 000000000..eb74267b2 --- /dev/null +++ b/mach/sparc_solaris/libsys/getitimer.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(getitimer) diff --git a/mach/sparc_solaris/libsys/getmsg.s b/mach/sparc_solaris/libsys/getmsg.s new file mode 100644 index 000000000..8a0bdf506 --- /dev/null +++ b/mach/sparc_solaris/libsys/getmsg.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(getmsg) diff --git a/mach/sparc_solaris/libsys/getpgid.s b/mach/sparc_solaris/libsys/getpgid.s new file mode 100644 index 000000000..7da359219 --- /dev/null +++ b/mach/sparc_solaris/libsys/getpgid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(getpgid) diff --git a/mach/sparc_solaris/libsys/getpgrp.s b/mach/sparc_solaris/libsys/getpgrp.s new file mode 100644 index 000000000..e4d5ea385 --- /dev/null +++ b/mach/sparc_solaris/libsys/getpgrp.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(getpgrp) diff --git a/mach/sparc_solaris/libsys/getpid.s b/mach/sparc_solaris/libsys/getpid.s new file mode 100644 index 000000000..65cce6fb2 --- /dev/null +++ b/mach/sparc_solaris/libsys/getpid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(getpid) diff --git a/mach/sparc_solaris/libsys/getpmsg.s b/mach/sparc_solaris/libsys/getpmsg.s new file mode 100644 index 000000000..944969f3b --- /dev/null +++ b/mach/sparc_solaris/libsys/getpmsg.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_5(getpmsg) diff --git a/mach/sparc_solaris/libsys/getppid.s b/mach/sparc_solaris/libsys/getppid.s new file mode 100644 index 000000000..92dadd48a --- /dev/null +++ b/mach/sparc_solaris/libsys/getppid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(getppid) diff --git a/mach/sparc_solaris/libsys/getrlimit.s b/mach/sparc_solaris/libsys/getrlimit.s new file mode 100644 index 000000000..7beed8a5f --- /dev/null +++ b/mach/sparc_solaris/libsys/getrlimit.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_2(getrlimit) + diff --git a/mach/sparc_solaris/libsys/getsid.s b/mach/sparc_solaris/libsys/getsid.s new file mode 100644 index 000000000..dce82ed77 --- /dev/null +++ b/mach/sparc_solaris/libsys/getsid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(getsid) diff --git a/mach/sparc_solaris/libsys/gettimeofday.s b/mach/sparc_solaris/libsys/gettimeofday.s new file mode 100644 index 000000000..9f59b8eb8 --- /dev/null +++ b/mach/sparc_solaris/libsys/gettimeofday.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(gettimeofday) diff --git a/mach/sparc_solaris/libsys/getuid.s b/mach/sparc_solaris/libsys/getuid.s new file mode 100644 index 000000000..4a8ca3d0f --- /dev/null +++ b/mach/sparc_solaris/libsys/getuid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(getuid) diff --git a/mach/sparc_solaris/libsys/gtty.s b/mach/sparc_solaris/libsys/gtty.s new file mode 100644 index 000000000..138d44e21 --- /dev/null +++ b/mach/sparc_solaris/libsys/gtty.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(gtty) diff --git a/mach/sparc_solaris/libsys/head_em.s b/mach/sparc_solaris/libsys/head_em.s new file mode 100644 index 000000000..508e82eda --- /dev/null +++ b/mach/sparc_solaris/libsys/head_em.s @@ -0,0 +1,84 @@ +.global lino,filn +.global EXIT +.global begtext,begdata,begbss +.global EARRAY,ERANGE,ESET,EIDIVZ,EHEAP,EILLINS,ECASE,EBADGTO +.global hol0,reghp,limhp,trpim,trppc +.global _start + +! runtime startof for sparc on sun4 + + +LINO_AD = 0 +FILN_AD = 4 + +EARRAY = 0 +ERANGE = 1 +ESET = 2 +EIDIVZ = 6 +EHEAP = 17 +EILLINS = 18 +ECASE = 20 +EBADGTO = 27 + + .section ".text" + +begtext: +_start: + clr %fp + ld [%sp + 0x40], %o0 + add %sp, 0x44, %o1 + + sub %sp, 32, %sp + + sll %o0, 0x2, %o2 + add %o2, 0x4, %o2 + add %o1, %o2, %o2 + set -0x100000, %g4 ! should be a few M + clr %l1 + mov %sp, %l0 + add %sp, %g4, %sp + dec 12, %l0 + ! enable divide by 0 trap and improper + ! trap + st %fsr, [%l0] + ld [%l0], %o3 + set 0x09000000, %o4 + or %o3, %o4, %o3 + st %o3, [%l0] + ld [%l0], %fsr + + st %o0, [%l0] + st %o1, [%l0+4] + st %o2, [%l0+8] + + call $_m_a_i_n + nop + dec 4, %l0 + st %g0, [%l0] +EXIT: + call $_exit + nop + +.type _start,#function +.size _start,.-_start + + .section ".data" +begdata: + .word 0 ! may be at virtual address 0 with no problem +hol0: +lino: + .word 0 ! lino +filn: + .word 0 ! filn +reghp: + .word $_end +limhp: + .word $_end +trppc: + .word 0 +trpim: + .word 0 ! USED TO BE 2 BYTES; IS THIS RIGHT? + + + .section ".bss" +begbss: !initialization is not needed because ALL entries are in zero space! diff --git a/mach/sparc_solaris/libsys/ioctl.s b/mach/sparc_solaris/libsys/ioctl.s new file mode 100644 index 000000000..14b240f01 --- /dev/null +++ b/mach/sparc_solaris/libsys/ioctl.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(ioctl) diff --git a/mach/sparc_solaris/libsys/kill.s b/mach/sparc_solaris/libsys/kill.s new file mode 100644 index 000000000..8a723ad7e --- /dev/null +++ b/mach/sparc_solaris/libsys/kill.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(kill) diff --git a/mach/sparc_solaris/libsys/lchown.s b/mach/sparc_solaris/libsys/lchown.s new file mode 100644 index 000000000..b24cc8515 --- /dev/null +++ b/mach/sparc_solaris/libsys/lchown.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(lchown) diff --git a/mach/sparc_solaris/libsys/link.s b/mach/sparc_solaris/libsys/link.s new file mode 100644 index 000000000..a7ca30aae --- /dev/null +++ b/mach/sparc_solaris/libsys/link.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(link) diff --git a/mach/sparc_solaris/libsys/lockf.s b/mach/sparc_solaris/libsys/lockf.s new file mode 100644 index 000000000..545013c22 --- /dev/null +++ b/mach/sparc_solaris/libsys/lockf.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(lockf) diff --git a/mach/sparc_solaris/libsys/lseek.s b/mach/sparc_solaris/libsys/lseek.s new file mode 100644 index 000000000..e75e9150c --- /dev/null +++ b/mach/sparc_solaris/libsys/lseek.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(lseek) diff --git a/mach/sparc_solaris/libsys/lstat.s b/mach/sparc_solaris/libsys/lstat.s new file mode 100644 index 000000000..dfec6af1c --- /dev/null +++ b/mach/sparc_solaris/libsys/lstat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(lstat) diff --git a/mach/sparc_solaris/libsys/mincore.s b/mach/sparc_solaris/libsys/mincore.s new file mode 100644 index 000000000..eca218ad7 --- /dev/null +++ b/mach/sparc_solaris/libsys/mincore.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(mincore) diff --git a/mach/sparc_solaris/libsys/mkdir.s b/mach/sparc_solaris/libsys/mkdir.s new file mode 100644 index 000000000..90b1ac7c2 --- /dev/null +++ b/mach/sparc_solaris/libsys/mkdir.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(mkdir) diff --git a/mach/sparc_solaris/libsys/mknod.s b/mach/sparc_solaris/libsys/mknod.s new file mode 100644 index 000000000..d0fe9c83d --- /dev/null +++ b/mach/sparc_solaris/libsys/mknod.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(mknod) diff --git a/mach/sparc_solaris/libsys/mmap.s b/mach/sparc_solaris/libsys/mmap.s new file mode 100644 index 000000000..de7c71dc8 --- /dev/null +++ b/mach/sparc_solaris/libsys/mmap.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_6(mmap) diff --git a/mach/sparc_solaris/libsys/mount.s b/mach/sparc_solaris/libsys/mount.s new file mode 100644 index 000000000..a42aa8ff1 --- /dev/null +++ b/mach/sparc_solaris/libsys/mount.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(mount) diff --git a/mach/sparc_solaris/libsys/mprotect.s b/mach/sparc_solaris/libsys/mprotect.s new file mode 100644 index 000000000..ef0e56883 --- /dev/null +++ b/mach/sparc_solaris/libsys/mprotect.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(mprotect) diff --git a/mach/sparc_solaris/libsys/munmap.s b/mach/sparc_solaris/libsys/munmap.s new file mode 100644 index 000000000..41c8a1a29 --- /dev/null +++ b/mach/sparc_solaris/libsys/munmap.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(munmap) diff --git a/mach/sparc_solaris/libsys/nice.s b/mach/sparc_solaris/libsys/nice.s new file mode 100644 index 000000000..52df77bed --- /dev/null +++ b/mach/sparc_solaris/libsys/nice.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_1(nice) + diff --git a/mach/sparc_solaris/libsys/open.s b/mach/sparc_solaris/libsys/open.s new file mode 100644 index 000000000..96406eac3 --- /dev/null +++ b/mach/sparc_solaris/libsys/open.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(open) diff --git a/mach/sparc_solaris/libsys/pause.s b/mach/sparc_solaris/libsys/pause.s new file mode 100644 index 000000000..74e47c7ae --- /dev/null +++ b/mach/sparc_solaris/libsys/pause.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(pause) diff --git a/mach/sparc_solaris/libsys/pipe.s b/mach/sparc_solaris/libsys/pipe.s new file mode 100644 index 000000000..eb5caa028 --- /dev/null +++ b/mach/sparc_solaris/libsys/pipe.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(pipe) diff --git a/mach/sparc_solaris/libsys/plock.s b/mach/sparc_solaris/libsys/plock.s new file mode 100644 index 000000000..2c2ba8da3 --- /dev/null +++ b/mach/sparc_solaris/libsys/plock.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(plock) diff --git a/mach/sparc_solaris/libsys/poll.s b/mach/sparc_solaris/libsys/poll.s new file mode 100644 index 000000000..bbeff2bd0 --- /dev/null +++ b/mach/sparc_solaris/libsys/poll.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(poll) diff --git a/mach/sparc_solaris/libsys/pread.s b/mach/sparc_solaris/libsys/pread.s new file mode 100644 index 000000000..f138fe68f --- /dev/null +++ b/mach/sparc_solaris/libsys/pread.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(pread) diff --git a/mach/sparc_solaris/libsys/profil.s b/mach/sparc_solaris/libsys/profil.s new file mode 100644 index 000000000..efb9f4825 --- /dev/null +++ b/mach/sparc_solaris/libsys/profil.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(profil) diff --git a/mach/sparc_solaris/libsys/ptrace.s b/mach/sparc_solaris/libsys/ptrace.s new file mode 100644 index 000000000..53277ea53 --- /dev/null +++ b/mach/sparc_solaris/libsys/ptrace.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(ptrace) diff --git a/mach/sparc_solaris/libsys/putmsg.s b/mach/sparc_solaris/libsys/putmsg.s new file mode 100644 index 000000000..be34c58bc --- /dev/null +++ b/mach/sparc_solaris/libsys/putmsg.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(putmsg) diff --git a/mach/sparc_solaris/libsys/putpmsg.s b/mach/sparc_solaris/libsys/putpmsg.s new file mode 100644 index 000000000..e6806380a --- /dev/null +++ b/mach/sparc_solaris/libsys/putpmsg.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_5(putpmsg) diff --git a/mach/sparc_solaris/libsys/pwrite.s b/mach/sparc_solaris/libsys/pwrite.s new file mode 100644 index 000000000..24e02d1f8 --- /dev/null +++ b/mach/sparc_solaris/libsys/pwrite.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_4(pwrite) diff --git a/mach/sparc_solaris/libsys/read.s b/mach/sparc_solaris/libsys/read.s new file mode 100644 index 000000000..db5047808 --- /dev/null +++ b/mach/sparc_solaris/libsys/read.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(read) diff --git a/mach/sparc_solaris/libsys/readlink.s b/mach/sparc_solaris/libsys/readlink.s new file mode 100644 index 000000000..c4673f3c3 --- /dev/null +++ b/mach/sparc_solaris/libsys/readlink.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(readlink) diff --git a/mach/sparc_solaris/libsys/readv.s b/mach/sparc_solaris/libsys/readv.s new file mode 100644 index 000000000..50ea57d6f --- /dev/null +++ b/mach/sparc_solaris/libsys/readv.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(readv) diff --git a/mach/sparc_solaris/libsys/rename.s b/mach/sparc_solaris/libsys/rename.s new file mode 100644 index 000000000..22d7f44b4 --- /dev/null +++ b/mach/sparc_solaris/libsys/rename.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(rename) diff --git a/mach/sparc_solaris/libsys/rmdir.s b/mach/sparc_solaris/libsys/rmdir.s new file mode 100644 index 000000000..36b3c8dbe --- /dev/null +++ b/mach/sparc_solaris/libsys/rmdir.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(rmdir) diff --git a/mach/sparc_solaris/libsys/setegid.s b/mach/sparc_solaris/libsys/setegid.s new file mode 100644 index 000000000..96874bd75 --- /dev/null +++ b/mach/sparc_solaris/libsys/setegid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(setegid) diff --git a/mach/sparc_solaris/libsys/seteuid.s b/mach/sparc_solaris/libsys/seteuid.s new file mode 100644 index 000000000..16b9ae5a4 --- /dev/null +++ b/mach/sparc_solaris/libsys/seteuid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(seteuid) diff --git a/mach/sparc_solaris/libsys/setgid.s b/mach/sparc_solaris/libsys/setgid.s new file mode 100644 index 000000000..9d43f6d9a --- /dev/null +++ b/mach/sparc_solaris/libsys/setgid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(setgid) diff --git a/mach/sparc_solaris/libsys/setgroups.s b/mach/sparc_solaris/libsys/setgroups.s new file mode 100644 index 000000000..1c399c1b4 --- /dev/null +++ b/mach/sparc_solaris/libsys/setgroups.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(setgroups) diff --git a/mach/sparc_solaris/libsys/setitimer.s b/mach/sparc_solaris/libsys/setitimer.s new file mode 100644 index 000000000..fce43cb10 --- /dev/null +++ b/mach/sparc_solaris/libsys/setitimer.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_3(setitimer) + diff --git a/mach/sparc_solaris/libsys/setpgrp.s b/mach/sparc_solaris/libsys/setpgrp.s new file mode 100644 index 000000000..8ceb40c01 --- /dev/null +++ b/mach/sparc_solaris/libsys/setpgrp.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(setpgrp) diff --git a/mach/sparc_solaris/libsys/setrlimit.s b/mach/sparc_solaris/libsys/setrlimit.s new file mode 100644 index 000000000..457418231 --- /dev/null +++ b/mach/sparc_solaris/libsys/setrlimit.s @@ -0,0 +1,4 @@ +#include "SYS.h" + +SYS_call_2(setrlimit) + diff --git a/mach/sparc_solaris/libsys/setsid.s b/mach/sparc_solaris/libsys/setsid.s new file mode 100644 index 000000000..944c27599 --- /dev/null +++ b/mach/sparc_solaris/libsys/setsid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(setsid) diff --git a/mach/sparc_solaris/libsys/settimeofday.s b/mach/sparc_solaris/libsys/settimeofday.s new file mode 100644 index 000000000..048f5a676 --- /dev/null +++ b/mach/sparc_solaris/libsys/settimeofday.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(settimeofday) diff --git a/mach/sparc_solaris/libsys/setuid.s b/mach/sparc_solaris/libsys/setuid.s new file mode 100644 index 000000000..b554c9e30 --- /dev/null +++ b/mach/sparc_solaris/libsys/setuid.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(setuid) diff --git a/mach/sparc_solaris/libsys/sighold.s b/mach/sparc_solaris/libsys/sighold.s new file mode 100644 index 000000000..5dcb19099 --- /dev/null +++ b/mach/sparc_solaris/libsys/sighold.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(sighold) diff --git a/mach/sparc_solaris/libsys/sigignore.s b/mach/sparc_solaris/libsys/sigignore.s new file mode 100644 index 000000000..df329777f --- /dev/null +++ b/mach/sparc_solaris/libsys/sigignore.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(sigignore) diff --git a/mach/sparc_solaris/libsys/signal.c b/mach/sparc_solaris/libsys/signal.c new file mode 100644 index 000000000..52dab9b6b --- /dev/null +++ b/mach/sparc_solaris/libsys/signal.c @@ -0,0 +1,37 @@ +#include + +extern int errno; + +#define MAXSIG 128 +void (*_sig_funcs[MAXSIG])(); +void _sig_catch(); +void (*_signal())(); + +void +(* +signal(sig, handler))() + void (*handler)(); +{ + void (*old)(), (*retval)(); + + if (sig <= 0 || sig > MAXSIG) { + errno = EINVAL; + return (void (*)()) -1; + } + if ((long) handler >= 0 && (long) handler <= 2) { + retval = _signal(sig, handler); + if (retval != (void (*)()) -1) { + old = _sig_funcs[sig-1]; + _sig_funcs[sig-1] = handler; + return old; + } + return retval; + } + retval = _signal(sig, _sig_catch); + if (retval != (void (*)()) -1) { + old = _sig_funcs[sig-1]; + _sig_funcs[sig-1] = handler; + return old; + } + return retval; +} diff --git a/mach/sparc_solaris/libsys/sigpause.s b/mach/sparc_solaris/libsys/sigpause.s new file mode 100644 index 000000000..ac31bbb50 --- /dev/null +++ b/mach/sparc_solaris/libsys/sigpause.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(sigpause) diff --git a/mach/sparc_solaris/libsys/sigrelse.s b/mach/sparc_solaris/libsys/sigrelse.s new file mode 100644 index 000000000..4647289b7 --- /dev/null +++ b/mach/sparc_solaris/libsys/sigrelse.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(sigrelse) diff --git a/mach/sparc_solaris/libsys/sigset.s b/mach/sparc_solaris/libsys/sigset.s new file mode 100644 index 000000000..b882dd125 --- /dev/null +++ b/mach/sparc_solaris/libsys/sigset.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(sigset) diff --git a/mach/sparc_solaris/libsys/stat.s b/mach/sparc_solaris/libsys/stat.s new file mode 100644 index 000000000..3f26d59e3 --- /dev/null +++ b/mach/sparc_solaris/libsys/stat.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(stat) diff --git a/mach/sparc_solaris/libsys/stime.s b/mach/sparc_solaris/libsys/stime.s new file mode 100644 index 000000000..72d4a5cd8 --- /dev/null +++ b/mach/sparc_solaris/libsys/stime.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(stime) diff --git a/mach/sparc_solaris/libsys/stty.s b/mach/sparc_solaris/libsys/stty.s new file mode 100644 index 000000000..ccb6b1f28 --- /dev/null +++ b/mach/sparc_solaris/libsys/stty.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(stty) diff --git a/mach/sparc_solaris/libsys/symlink.s b/mach/sparc_solaris/libsys/symlink.s new file mode 100644 index 000000000..d310b7718 --- /dev/null +++ b/mach/sparc_solaris/libsys/symlink.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(symlink) diff --git a/mach/sparc_solaris/libsys/sync.s b/mach/sparc_solaris/libsys/sync.s new file mode 100644 index 000000000..6acbba9f8 --- /dev/null +++ b/mach/sparc_solaris/libsys/sync.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(sync) diff --git a/mach/sparc_solaris/libsys/tell.c b/mach/sparc_solaris/libsys/tell.c new file mode 100644 index 000000000..49e2a917a --- /dev/null +++ b/mach/sparc_solaris/libsys/tell.c @@ -0,0 +1,7 @@ +long +tell(f) +{ + long lseek(); + + return lseek(f, 0L, 1); +} diff --git a/mach/sparc_solaris/libsys/time.s b/mach/sparc_solaris/libsys/time.s new file mode 100644 index 000000000..840db9808 --- /dev/null +++ b/mach/sparc_solaris/libsys/time.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(time) diff --git a/mach/sparc_solaris/libsys/times.s b/mach/sparc_solaris/libsys/times.s new file mode 100644 index 000000000..60f84d846 --- /dev/null +++ b/mach/sparc_solaris/libsys/times.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(times) diff --git a/mach/sparc_solaris/libsys/truncate.s b/mach/sparc_solaris/libsys/truncate.s new file mode 100644 index 000000000..c8cdc4765 --- /dev/null +++ b/mach/sparc_solaris/libsys/truncate.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(truncate) diff --git a/mach/sparc_solaris/libsys/ulimit.s b/mach/sparc_solaris/libsys/ulimit.s new file mode 100644 index 000000000..e0fce72ea --- /dev/null +++ b/mach/sparc_solaris/libsys/ulimit.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(ulimit) diff --git a/mach/sparc_solaris/libsys/umask.s b/mach/sparc_solaris/libsys/umask.s new file mode 100644 index 000000000..31f5105c5 --- /dev/null +++ b/mach/sparc_solaris/libsys/umask.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(umask) diff --git a/mach/sparc_solaris/libsys/umount.s b/mach/sparc_solaris/libsys/umount.s new file mode 100644 index 000000000..d0bb4bda8 --- /dev/null +++ b/mach/sparc_solaris/libsys/umount.s @@ -0,0 +1,7 @@ +#include "SYS.h" + +SYS_call_1(umount) + +LABEL_(unmount) +ENTRY1 +BODY(umount) diff --git a/mach/sparc_solaris/libsys/uname.s b/mach/sparc_solaris/libsys/uname.s new file mode 100644 index 000000000..ec180e521 --- /dev/null +++ b/mach/sparc_solaris/libsys/uname.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(uname) diff --git a/mach/sparc_solaris/libsys/unlink.s b/mach/sparc_solaris/libsys/unlink.s new file mode 100644 index 000000000..4690d6506 --- /dev/null +++ b/mach/sparc_solaris/libsys/unlink.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(unlink) diff --git a/mach/sparc_solaris/libsys/utime.s b/mach/sparc_solaris/libsys/utime.s new file mode 100644 index 000000000..30e5e343d --- /dev/null +++ b/mach/sparc_solaris/libsys/utime.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(utime) diff --git a/mach/sparc_solaris/libsys/utimes.s b/mach/sparc_solaris/libsys/utimes.s new file mode 100644 index 000000000..b08b63b2c --- /dev/null +++ b/mach/sparc_solaris/libsys/utimes.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_2(utimes) diff --git a/mach/sparc_solaris/libsys/vfork.s b/mach/sparc_solaris/libsys/vfork.s new file mode 100644 index 000000000..a84a2b13a --- /dev/null +++ b/mach/sparc_solaris/libsys/vfork.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_0(vfork) diff --git a/mach/sparc_solaris/libsys/wait.s b/mach/sparc_solaris/libsys/wait.s new file mode 100644 index 000000000..b1728bf5c --- /dev/null +++ b/mach/sparc_solaris/libsys/wait.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_1(wait) diff --git a/mach/sparc_solaris/libsys/write.s b/mach/sparc_solaris/libsys/write.s new file mode 100644 index 000000000..9196564f2 --- /dev/null +++ b/mach/sparc_solaris/libsys/write.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(write) diff --git a/mach/sparc_solaris/libsys/writev.s b/mach/sparc_solaris/libsys/writev.s new file mode 100644 index 000000000..9e7c21299 --- /dev/null +++ b/mach/sparc_solaris/libsys/writev.s @@ -0,0 +1,3 @@ +#include "SYS.h" + +SYS_call_3(writev)