Commit Graph

1427 Commits

Author SHA1 Message Date
thorpej
497248ca55 XXX Pass VM_PROT_NONE to uvm_vslock() as access_type. Why are we even
vslocking here?!  copyout() on its own seems to suffice just about everwhere
else, and it's not like the process is going to exit; it's in a system
call!
1999-05-26 01:07:06 +00:00
thorpej
a2dc12021c Oops, completely forgot to translate the exit signal in clone(2). 1999-05-17 19:26:33 +00:00
thorpej
0f74e48ca5 Emulate the Linux {get,set}resgid(2) system calls. 1999-05-14 18:45:31 +00:00
thorpej
8a61761cc5 Emulate the Linux {get,set}resuid(2) system calls. 1999-05-14 18:44:50 +00:00
thorpej
dd623ce325 Regen. 1999-05-14 18:44:15 +00:00
thorpej
a03622b33f Emulate the Linux vfork(2) (which is like NetBSD's __vfork14(2)),
{get,set}resuid(2), and {get,set}resgid(2).  Note a few more system
calls that we don't yet emulate.
1999-05-14 18:43:58 +00:00
thorpej
5f1b28961e Regen. 1999-05-14 18:43:20 +00:00
thorpej
e0a6808cef Emulate the Linux vfork(2) (which is like NetBSD's __vfork14(2)),
{get,set}resuid(2), and {get,set}resgid(2).  Note a few more system
calls that we don't yet emulate.
1999-05-14 18:43:01 +00:00
thorpej
64d90992b4 Regen. 1999-05-14 18:41:20 +00:00
thorpej
ba8fcafa16 Emulate the Linux vfork(2) (which is like OSF/1 vfork(2) and NetBSD's
__vfork14(2)) and {get,set}resuid(2).  Linux does not have {get,set}resgid(2)
on their Alpha port!
1999-05-14 18:39:38 +00:00
thorpej
087adcea52 Regen. 1999-05-13 23:43:15 +00:00
thorpej
fa1c5fed1a Emulate the Linux clone(2) system call. 1999-05-13 23:42:34 +00:00
thorpej
053ec76d86 Fully emulate the Linux wait4(2) system call, including the __WCLONE
flag (which is equivalent to our new WALTSIG).
1999-05-13 01:00:50 +00:00
thorpej
5512f35a12 Define the flags used by the Linux wait4() system call. 1999-05-13 00:31:57 +00:00
thorpej
e2c674e2c6 Add scheduling-related definitions. Currently we have the flags passed
to the __clone(2) system call.
1999-05-12 19:49:09 +00:00
cgd
c283289b46 For lack of a bit, the letter was lost. For lack of the letter, the
macro was lost.  For lack of the macro, the function was lost.  For lack
of the function, the syscall was lost.  For lack of the syscall, the
application was lost.  For lack of the application, my time was lost.
1999-05-10 21:41:07 +00:00
cgd
9ee892559b regen 1999-05-10 06:00:10 +00:00
cgd
798cd0a332 start at (new) sendmsg and recvmsg. right now, the former doesn't
handle control messages and the latter is just a stub.
1999-05-10 05:58:44 +00:00
cgd
55c7aec3cc rename xopen-ish iovec and msghdr structs 1999-05-10 04:18:22 +00:00
cgd
21c7b563a8 msghdr and x/open iovec structs 1999-05-10 03:58:50 +00:00
cgd
99cc65e9ba regen 1999-05-10 03:34:20 +00:00
cgd
4bf16b94f4 old accept -> compat_43_sys_accept 1999-05-10 03:33:04 +00:00
cgd
bf29d6c987 regen 1999-05-10 03:00:27 +00:00
cgd
1c05179cd4 usleep_thread: round ticks up, don't sleep forever, use better wchan 1999-05-10 02:55:57 +00:00
cgd
1e2f18cb6a listen is the same as native 1999-05-10 02:54:57 +00:00
cgd
f7c70eaf0e regen 1999-05-10 01:59:41 +00:00
cgd
726fed408a plink, plink.... socketpair! 1999-05-10 01:58:37 +00:00
kleink
fe0ce0cd42 Need to explicitly include <machine/cpu.h> for a cpu_wait() macro definition. 1999-05-08 01:23:01 +00:00
drochner
192b3c733c Build libraries for kernel/standalone code from within their compilation
directories and use .PATH to lookup the source files.
(Formerly, the libs were built from the source dirs, with MAKEOBJDIR
set to the compilation directory.)
This solves 2 problems:
-"mkdep" and "make" are now consistent about the file lookup, this fixes
 bad interactions with amd reported in PR bin/7374 (Arne Juul) and
 lossage reported by Andrew Gillham ("obj" dirs and relative paths still
 don't work well together)
-kernel compile trees can be moved around without forcing a new
 "make depend" - fixing PR kern/4021 by Martin Husemann
1999-05-07 14:28:50 +00:00
thorpej
e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
cgd
3b5a8a7db7 shuffle (sort) 1999-05-05 01:51:31 +00:00
cgd
5e1a5ebf21 clean up sigset_t manipulation macros 1999-05-05 00:57:43 +00:00
cgd
ceff265279 shuffle (alphabetize) 1999-05-05 00:48:30 +00:00
cgd
ff38fb6396 regen 1999-05-04 05:23:05 +00:00
cgd
e7f2a6f938 stub classcntl(). for now, it returns ENOSYS. (a stub for classcntl()
was suggested by Anders Magnusson <ragge@ludd.luth.se>.)
1999-05-04 05:17:22 +00:00
cgd
e24a4116bc add a few XXXs 1999-05-04 05:11:03 +00:00
cgd
debeb21304 regen 1999-05-04 05:00:21 +00:00
cgd
ab7cdebda6 emulate shm*(), but only so far as to return ENOSYS for now (until
they're really needed).  put them in their own file because when we
need to emulate them, they'll need a bunch of code.
1999-05-04 04:59:21 +00:00
cgd
2165378111 add a 'clean' target to nuke files built from syscalls.master, so that
it's easier to commit non-generated files all at once.
1999-05-04 04:56:44 +00:00
cgd
d0937ee8b6 don't pull in osf1_syscall.h 1999-05-04 02:45:35 +00:00
cgd
15e8e0d207 IPC key_t 1999-05-04 02:44:43 +00:00
cgd
759a1e3cd7 regen 1999-05-04 02:12:33 +00:00
cgd
bd7a54454d pathconf/fpathconf 1999-05-04 02:12:15 +00:00
cgd
a0a7b0de30 protection-related bits -> osf1_prot.c 1999-05-01 05:49:01 +00:00
cgd
ca7738a519 clean up ordering, add a comment or two 1999-05-01 05:43:52 +00:00
cgd
12df8bf0da {get,set}rlimit, getrusage -> osf1_resource.c 1999-05-01 05:41:56 +00:00
cgd
8d9e0684d2 descriptor-frobbing syscalls (fstat, fcntl(), lseek(), etc.) ->
osf1_descrip.c.
1999-05-01 05:34:59 +00:00
cgd
39ba96ee96 utimes() belongs here 1999-05-01 05:33:36 +00:00
cgd
789e810c20 get/settimeofday, interval timers -> osf1_time.c 1999-05-01 05:25:37 +00:00
cgd
bf9d06e035 typical filename using syscalls (open(), access(), execve(), etc.) -> osf1_file.c 1999-05-01 05:18:01 +00:00
cgd
deeb289def sys_generic-ish bits move to osf1_generic.c 1999-05-01 05:06:46 +00:00
cgd
f493e92106 clean up vm-related headers 1999-05-01 04:59:42 +00:00
cgd
d3b6da7da3 and the socket calls move 1999-05-01 04:57:15 +00:00
cgd
ffc61cf092 shuffle some conversion bits around that were missed earlier 1999-05-01 04:47:00 +00:00
cgd
9cc30ed036 needs mount.h 1999-05-01 04:38:39 +00:00
cgd
2d25ceb2d2 pull in compat_util.h 1999-05-01 04:38:20 +00:00
cgd
e42f7d331f move mmap() and related functions into their own file 1999-05-01 04:34:20 +00:00
cgd
170b003d0b shuffle bits around. separate conversion conversion functions and tables
from the code that uses them, just as I previously separated out the
OSF/1 definitions and structures from the code that translates to and
from them.
1999-05-01 02:57:08 +00:00
cgd
38da682259 Moved to osf1_cvt_errno.c,v 1999-05-01 02:16:01 +00:00
cgd
333154d794 Moved from osf1_errno.c,v 1999-05-01 02:16:00 +00:00
cgd
af8a9059d3 compute the value to be used for e_arglen via howmany(value, sizeof (char *)),
rather than just "value / sizeof (char *)".  While in these cases the latter
works as well, the former's a better example for other uses to copy (since
it handles the non-integral multiple case correctly).
1999-04-30 23:07:01 +00:00
cgd
1bce8c40fc ep_arglen is in units of 'sizeof (char *)', not in units of bytes. use
howmany(value, sizeof (char *)) to get the right value.
1999-04-30 23:02:06 +00:00
cgd
5a93f3c9b1 emulate wait4(), put some guts into sysinfo(), and redo fcntl()
F_{GET,SET}FL emulation.
1999-04-30 05:25:34 +00:00
cgd
28410181b2 return error if unsupported sigaltstack flags used 1999-04-30 05:24:04 +00:00
cgd
a928d381b2 regen 1999-04-30 04:36:04 +00:00
cgd
d2d8e961fe emulate wait4, clean up sigreturn args, emulate {get,set}domainname 1999-04-30 04:33:51 +00:00
cgd
e836b093b4 nuke most fcntl() F* flags, and note that O_* should be used instead. 1999-04-30 04:31:45 +00:00
cgd
c21c5d0c2d systeminfo.h SI_* constants, wait.h W{NOHANG,UNTRACED}, plus spacing cleanup 1999-04-30 02:12:03 +00:00
cgd
afe914207b we can actually setitimer() now 1999-04-30 01:57:27 +00:00
cgd
94a4e36ed2 use osf1-specific sigcode 1999-04-30 01:46:09 +00:00
cgd
6abb3f7b37 regen 1999-04-29 23:39:55 +00:00
cgd
59c243a0b7 emulate setitimer(), but for now just return EINVAL. stub sysinfo() (XXX). 1999-04-29 23:37:23 +00:00
cgd
e9bc2c7ae3 need to emulate setitimer and sysinfo 1999-04-29 22:08:49 +00:00
cgd
2b9f4ca12d in NetBSD, top 32 bits of ioctl com are always 0 1999-04-29 17:34:49 +00:00
thorpej
0792acce0d Regen. 1999-04-29 17:20:37 +00:00
thorpej
fb1f070eba Add entry for set_program_attributes(). 1999-04-29 17:19:47 +00:00
thorpej
8ef6e2a635 Implement set_program_attributes(). 1999-04-29 17:18:59 +00:00
christos
4c1bb7794a Need sunos_sigcode and sunos_esigcode now that our sigreturn is
different.
1999-04-29 16:14:04 +00:00
christos
a38ee86714 Make ss_size something reasonable (not 0) so sigaltstack does not fail.
Pull me up plz!
1999-04-29 16:09:12 +00:00
cgd
a509481404 itimerval and related constants 1999-04-29 05:54:13 +00:00
cgd
ee325de1bb regen for syscalls.master 1999-04-29 02:11:51 +00:00
cgd
1041a1c770 emulate access() and mprotect(), hook into COMPAT_43 get{peer,sock}name 1999-04-29 02:10:07 +00:00
cgd
f4507cddca mprotect() and access() 1999-04-29 02:08:58 +00:00
cgd
cc4f9f6afb access() flags 1999-04-29 02:06:50 +00:00
cgd
52b80ff167 fix some bugs (good to get to the point where bug-fixing is an issue!):
* when copying out the timezone in gettimeofday, don't accidentally copy
  out the timeval again (into the timezone buffer).
* mmap() PROT_WRITE and PROT_EXECUTE imply PROT_READ.
1999-04-28 06:01:51 +00:00
cgd
278f92716f regen for updated syscalls.master 1999-04-28 05:10:38 +00:00
cgd
d3708a1699 more timeval-related lossage. fixed some fns, added settimeofday & utimes 1999-04-28 05:09:47 +00:00
cgd
fc1142ac44 be more careful about getting the exec_name emul arg field 1999-04-28 02:49:38 +00:00
cgd
a61beae31e regen for changed syscalls.master 1999-04-28 02:34:47 +00:00
cgd
a9deaa593a emulate select(), to get the timeval right.
And CGD said, "Let there be eyes!"  And there were eyes, and it was good.
1999-04-28 02:34:25 +00:00
cgd
4c9a03c3b3 do easy 'f'-class ioctls 1999-04-28 02:16:07 +00:00
cgd
3cca776d42 regen for changed syscalls.master 1999-04-28 02:03:45 +00:00
cgd
28561f9679 can't use system gettimeofday, and need to implement uname 1999-04-28 02:03:13 +00:00
cgd
93e2cb1a1e uname, gettimeofday 1999-04-28 02:02:50 +00:00
cgd
ccd0018aca uname and timezone structures, and some minor cleanup 1999-04-28 02:00:36 +00:00
cgd
6e5469dc42 implement osf1_sys_madvise() 1999-04-27 18:45:22 +00:00
cgd
3cb15b5b9b regen for changed syscalls.master 1999-04-27 18:41:37 +00:00
cgd
df6ae494ef fix madvise args 1999-04-27 18:40:53 +00:00
cgd
99df19a561 madvise operation definitions 1999-04-27 18:38:07 +00:00
cgd
3d0c9ec2a8 kill a couple of debugging printfs i accidentally left in 1999-04-27 17:56:52 +00:00
cgd
8f40430549 regen for changed syscalls.master 1999-04-27 17:53:11 +00:00
cgd
6b9bb2a3cb fix getrusage args 1999-04-27 17:52:44 +00:00
cgd
009c460d25 emulate getrusage, add some XXXs 1999-04-27 17:50:59 +00:00
cgd
9a71b695bd osf1_timeval and osf1_rusage and related constants 1999-04-27 17:50:23 +00:00
cgd
44cbebec30 note that his should be shot from a cannon 1999-04-27 16:09:28 +00:00
cgd
1f9cfb5d53 update for current reality 1999-04-27 16:08:40 +00:00
christos
b69c7692af From cgd again: pbuf == path on failure. 1999-04-27 15:42:37 +00:00
christos
c4f1bab08e Make the usage consistant and document it:
if the path was given in a user buffer, return the new path in
a user buffer.
if the path was given in a kernel buffer, allocate a new kernel buffer
to return the new path; the caller is responsible for freeing the buffer
if we fail always set the new path to NULL.
This usage broke when I adde the /../ shortcut. Noted by cgd.
1999-04-27 11:36:47 +00:00
cgd
f355b96b7a note that this document is now out of date 1999-04-27 06:39:49 +00:00
cgd
7e3ad9e963 evil hack to work around non-fixed mmap requests 1999-04-27 06:37:12 +00:00
cgd
6ef8f59ae6 dynamic executable/loader handling, done right 1999-04-27 05:38:08 +00:00
cgd
743038a6cb clean up for ecoff_machdep.h changes, look for the loader 1999-04-27 03:19:44 +00:00
cgd
fe6198f6e2 do special OSF/1-specific ECOFF recognition (not yet complete), and
implement a copyargs function to do special argument copying for
emulated processes.
1999-04-27 01:45:03 +00:00
cgd
bd33916784 exec internals have been moved (and improved) to osf1_exec.c. Not much
there yet, but more to come.
1999-04-26 18:34:05 +00:00
cgd
bd947212ac major(), minor(), and makedev() 1999-04-26 06:10:36 +00:00
cgd
9524149336 use fcntl() flags from osf1.h, map all of them 1999-04-26 05:57:53 +00:00
cgd
1904f78fb5 fcntl() flags 1999-04-26 05:56:34 +00:00
cgd
6d24aedc2c table-based translation of sigaction and sigaltstack flags 1999-04-26 05:35:08 +00:00
cgd
635a7843a1 copyright notice 1999-04-26 05:32:18 +00:00
cgd
6dbaac99f9 slight cleanup of spacing 1999-04-26 04:29:43 +00:00
cgd
35a22b65fc rlimit stuff 1999-04-26 03:30:48 +00:00
cgd
646c8f519a resource limit definitions 1999-04-26 03:29:05 +00:00
cgd
5d3c1d0c49 use osf1.h definitions and some table-based flag translation 1999-04-26 03:10:58 +00:00
cgd
32c9cd9866 exec and mount structs/defns, and some cleanup 1999-04-26 03:07:40 +00:00
cgd
445556f304 add a section of OSF/1 types, and add many more OSF/1 structures and
definitions.
1999-04-26 01:24:26 +00:00
cgd
1d0207c926 const-ify flags translation tables.
kill some cruft, and move various flags and structure definitions into
  osf1.h (not done yet).
Do a better job of translating fcntl(), and translate flags in sento()
  emulation.
1999-04-26 01:23:01 +00:00
cgd
196564f8e3 remove some structs and def'ns; they're moving to osf1.h 1999-04-26 01:22:18 +00:00
cgd
637226f0ad pull in osf1.h 1999-04-26 01:21:43 +00:00
cgd
ad10b95967 translate EAGAIN/EWOULDBLOCK properly 1999-04-26 01:16:04 +00:00
simonb
8a8e8d144f Shut 'gcc -Wuninitialized' up. 1999-04-25 02:42:01 +00:00
eeh
96b63fc788 Don't defopt COMPAT_NETBSD32 here; it's done in sys/conf/files. 1999-04-24 19:17:33 +00:00
cgd
45a020863e substantial cleanup, including:
* do more flags conversions, using the table driven converter.
* check for alternate (emulation) path in lots more places.
1999-04-24 07:23:54 +00:00
cgd
ed106195ea cleanup: kill syscall args comments 1999-04-24 07:13:23 +00:00
cgd
d081124ca2 cleanup: nuke register 1999-04-24 07:09:49 +00:00
cgd
d7c211e583 cleanup: kill syscall args comments 1999-04-24 07:06:35 +00:00
cgd
dd4d52e331 slight hdr inclusion cleanup, get ioctl-related def'ns from osf1.h 1999-04-24 06:59:11 +00:00
cgd
8b1bcd5e9c pull in osf1.h, not osf1_errno.h 1999-04-24 06:58:26 +00:00
cgd
2fc0019c7a Collected OSF/1 definitions and structures, sorted by OSF/1 header.
Error numbers (errno.h) aren't here, since they're likely to change
(additions) more often.
1999-04-24 06:56:25 +00:00
cgd
5b217baeb1 implement a simple function, emul_flags_translate() to do table-based
flags translation.
1999-04-24 02:56:06 +00:00
cgd
f023a00cd1 clean up multiple inclusion protection def'ns 1999-04-23 18:01:05 +00:00
cgd
1c19c07f42 clean up multiple inclusion protection def'ns and whitespace 1999-04-23 18:00:34 +00:00
cgd
cc6809bffa regen for 'const poisoning for strings, and minor cleanup' 1999-04-23 06:20:33 +00:00
cgd
c95f8f86c1 const poisoning for strings, and minor cleanup 1999-04-23 06:19:51 +00:00
cgd
c470144d55 use the errno mapping array 1999-04-23 06:15:35 +00:00
cgd
8ca456cbb3 add osf1_errno.c 1999-04-23 06:07:55 +00:00
cgd
f0f87c5554 finish updating this for signal changes, as was started in the
mis-labeled ("const poisoning"?!??!) rev 1.6.
1999-04-23 05:56:28 +00:00
cgd
f33ddea5c4 add an OSF1_CHECK_ALT_CREAT, similar to OSF1_CHECK_ALT_EXIST 1999-04-23 05:55:13 +00:00
cgd
4a84f3545a OSF/1 errno definitions, and a NetBSD -> OSF/1 errno mapping table. 1999-04-23 05:37:41 +00:00
cgd
f12f795592 a quick hack to make generating errno conversion tables from our and other
systems' headers a bit easier.  leaves much to be desired, but it's better
than nothing.
1999-04-23 05:31:33 +00:00
kleink
ed74932033 Add COMPAT_SVR4 for m68k. 1999-04-19 21:22:56 +00:00