Commit Graph

1425 Commits

Author SHA1 Message Date
jdolecek cfa9258f85 Use DEBUG_LINUX exclusively. Fixes PR#7684. 1999-09-08 16:52:08 +00:00
christos d205cc9cd4 oops, forgot to include new files. 1999-09-07 18:20:18 +00:00
christos ffdf7a5fe8 regen 1999-09-07 06:25:14 +00:00
christos c7897366b5 preliminary lwp support; currently staroffice breaks because set_ldt emulation
is borken, not because of threads problems.
1999-09-07 06:24:56 +00:00
thorpej 2c358fca82 Update for new msgctl()/semctl()/shmctl() calls. 1999-08-25 04:52:06 +00:00
thorpej 03a42efc4b Regen. 1999-08-25 04:51:06 +00:00
thorpej 0dc5bd44d5 Update for new SVID IPC calls, and also update the list of syscalls
to include the complete set as of 9.x.
1999-08-25 04:50:53 +00:00
thorpej 0d32655143 Completely rewrite the HP-UX SVID IPC compat calls. 1999-08-25 04:50:08 +00:00
thorpej c1f3fb3299 Regen. 1999-08-25 04:48:48 +00:00
thorpej 710fa26673 Update for new msgctl()/semctl()/shmctl(). 1999-08-25 04:48:21 +00:00
thorpej 9244fc5b3e Add compatibility calls for the 1.4 System V IPC *ctl() calls, and
update the 1.0 compat calls.
1999-08-25 04:47:12 +00:00
thorpej ed1f903927 Regen. 1999-08-25 04:45:43 +00:00
thorpej 943b6fe91f Update for new msgctl()/semctl()/shmctl(), and add fhopen(), fhstat(),
and fhstatfs().
1999-08-25 04:45:24 +00:00
thorpej d30f8c710b Erg, fix a typo that snuck in there. 1999-08-23 20:59:33 +00:00
thorpej 0693721b59 A more-or-less complete list of the types used in HP-UX 9.x hp9000s300. 1999-08-23 18:40:43 +00:00
kleink 79ce98b212 Per discussion with Lennart Augustsson, change the behaviour to report emulated
encodings, too.  (This is currently an issue with the eso(4) driver, which,
due to different byte orders in playing and recording directions, sets the
emulated flag for all 16-bit encodings, although it could be argued that this
is an unfortunate weakness of the query_encoding() interface.)
1999-08-22 13:43:09 +00:00
kleink a6a1795f0e Nuke a comment of mine (obsoleted by previous revision). 1999-08-22 13:11:38 +00:00
tron 14cc7c79c1 Regen. 1999-08-16 19:13:29 +00:00
tron 327a8cdf75 Add stime() to syscalls table. 1999-08-16 19:13:01 +00:00
tron c3ea560498 Add emulation for Linux stime(2) required for MuPAD's X11 interface. 1999-08-16 19:06:29 +00:00
simonb 299578ebd5 Spell "privilege" correctly (correct spelling from Jonathan Stone). 1999-08-16 02:59:22 +00:00
thorpej eb20bbc780 Change the semantics of splsoftclock() to be like other spl*() functions,
that is priority is rasied.  Add a new spllowersoftclock() to provide the
atomic drop-to-softclock semantics that the old splsoftclock() provided,
and update calls accordingly.

This fixes a problem with using the "rnd" pseudo-device from within
interrupt context to extract random data (e.g. from within the softnet
interrupt) where doing so would incorrectly unblock interrupts (causing
all sorts of lossage).

XXX 4 platforms do not have priority-raising capability: newsmips, sparc,
XXX sparc64, and VAX.  This platforms still have this bug until their
XXX spl*() functions are fixed.
1999-08-05 18:08:08 +00:00
wrstuden 3bf14d81e9 Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl
call with F_FSCTL set and F_SETFL calls generate calls to a new
fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0
for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems
use genfs_fcntl().

Reviewed by: thorpej
Tested by: wrstuden
1999-08-03 20:19:16 +00:00
christos 2f73c9bc1d sparc is not defined anymore... Use __sparc__ and __i386__. Also default
to the standard elf NOADDR...
1999-08-01 23:55:40 +00:00
drochner 44b56d917e regen 1999-07-30 16:04:41 +00:00
drochner 287f2ffe69 emulate fcntl(F_SETLK) & Co.
(seti@home works now:-)
1999-07-30 16:03:49 +00:00
rh cfa2c0bd79 Remove superfluous NULL argument from proclist_lock_read() call. 1999-07-25 08:55:46 +00:00
thorpej 01a8cffe77 Add a read/write lock to the proclists and PID hash table. Use the
write lock when doing PID allocation, and during the process exit path.
Use a read lock every where else, including within schedcpu() (interrupt
context).  Note that holding the write lock implies blocking schedcpu()
from running (blocks softclock).

PID allocation is now MP-safe.

Note this actually fixes a bug on single processor systems that was probably
extremely difficult to tickle; it was possible that schedcpu() would run
off a bad pointer if the right clock interrupt happened to come in the
middle of a LIST_INSERT_HEAD() or LIST_REMOVE() to/from allproc.
1999-07-22 21:08:30 +00:00
thorpej 32e1fd0d03 Move the call of cpu_wait() out of the wait4() functions, and into the
body of reaper(), right before the call to uvm_exit().  cpu_wait() must
be done before uvm_exit() because the resources it frees might be located
in the PCB.
1999-07-20 21:54:05 +00:00
jtk 92bf84ec68 implement emulation of SIOCGIFHWADDR, PR 7997 1999-07-17 22:03:55 +00:00
jtk c13299119a add LINUX_SIOCGIFHWADDR 1999-07-17 21:46:28 +00:00
thorpej c581bf97c5 A few things to make the Linux clone(2) emulation work a bit better:
- When the exit signal is specified to be 0, don't just assume they
  meant SIGCHLD.  In the Linux world, this appears to mean "don't deliver
  an exit signal at all".
- Simplify P_EXITSIG(); don't check against initproc here, just change
  the exit signal to SIGCHLD if reparenting to initproc.

A very simple clone(2) test program now works, and the MpegTV package
starts, but doesn't run properly yet (I believe there is a separate
bug which keeps it from working properly).
1999-07-15 23:18:41 +00:00
kleink dfa5aad003 Regen. 1999-07-12 22:04:00 +00:00
kleink e79a283e47 XSH5: change function signature to `void *sbrk(intptr_t)'. 1999-07-12 21:55:19 +00:00
cgd 2055d9d08d emulate (parts of) flock 1999-06-26 01:24:41 +00:00
cgd 1e29f2fb1f convert flock struct 1999-06-26 01:23:23 +00:00
cgd b9c997eba9 flock struct and related constants and types 1999-06-26 01:21:30 +00:00
thorpej 12347b2657 Make uvm_vslock() return the error code from uvm_fault_wire(). All places
which use uvm_vslock() should now test the return value.  If it's not
KERN_SUCCESS, wiring the pages failed, so the operation which is using
uvm_vslock() should error out.

XXX We currently just EFAULT a failed uvm_vslock().  We may want to do
more about translating error codes in the future.
1999-06-17 15:47:22 +00:00
oster f4628e2fda FILE_UNUSE needs two args, not one. 1999-06-13 21:34:32 +00:00
drochner 6e2b65ec1d regen 1999-06-09 12:38:50 +00:00
drochner b4e4c530db add "sys_" prefix to LFS syscalls 1999-06-09 12:33:18 +00:00
christos 354ba222e6 Regen 1999-06-09 04:50:32 +00:00
christos b7a0cd53a2 Propagate kern changes 1999-06-09 04:50:10 +00:00
christos 4ebea99d8e Regen 1999-06-09 04:28:24 +00:00
christos 1e6c35821b propagate changes from kern 1999-06-09 04:27:44 +00:00
cgd 3da80f5ebd don't vrele a bogus pointer if the namei() of the loader fails 1999-05-28 04:39:14 +00:00
pk bd84136493 copyinst() takes a `size_t *'. 1999-05-27 14:03:05 +00:00
tron c0567a6bc7 Add support for SETALL and GETALL to the Linux emulation of semctl()
and improve handling of SETVAL. Patches supplied by YAMAMOTO Jiro in
PR kern/7621.
1999-05-27 13:30:40 +00:00
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