Commit Graph

410 Commits

Author SHA1 Message Date
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
thorpej
7027166972 Regen. 2000-12-21 20:42:42 +00:00
thorpej
c0b556f767 Make an Alpha kernel with COMPAT_LINUX compile again. 2000-12-21 20:42:15 +00:00
fvdl
3259cebc4c For unknown ioctls, pass them through to a device using PTIOCLINUX,
so that it may deal with them if it knows them (i.e. LKMs which
deal with Linux binaries).
2000-12-18 14:47:38 +00:00
fvdl
0bda0568cf Regen. 2000-12-18 14:37:36 +00:00
fvdl
41623d32a2 Update for Linux calls with 32 bit uids/gids. 2000-12-18 14:37:17 +00:00
fvdl
8839755950 Update for 32 bit Linux uid/gid calls. 2000-12-18 14:36:35 +00:00
jdolecek
29fd738f28 make LKM safe 2000-12-17 16:15:54 +00:00
scw
7fb03460dc Sprinkle some register prefixes in the asm() statements. 2000-12-16 22:59:32 +00:00
jdolecek
5f0114a837 regen 2000-12-14 20:39:36 +00:00
jdolecek
14b2acc126 add sysinfo() 2000-12-14 20:37:57 +00:00
mycroft
bdf4af93a3 Some namespace hiding I forgot before. 2000-12-14 18:10:35 +00:00
mycroft
ccaa88d980 Declare linux_syscall_intern(). 2000-12-14 18:10:14 +00:00
mycroft
b8d0fc574a Regen. 2000-12-14 18:08:09 +00:00
mycroft
52e8ecc51c Round up sysent[] table size. 2000-12-14 18:07:54 +00:00
augustss
8dab2a36e1 Regen. 2000-12-13 21:42:21 +00:00
augustss
b907acd3fd Add sysinfo. 2000-12-13 21:41:46 +00:00
itohy
3e9f9f8abf sync with i386, so that exec_conf.c compiles again 2000-12-13 03:49:51 +00:00
jdolecek
e60b4a518d regen 2000-12-12 22:23:47 +00:00
jdolecek
405a6ce62f actually, we need to wrap sys_truncate() call so that the /emul/linux/...
path is tried first
fix ftruncate64 entry - first arg to ftruncate is int fd, not path
2000-12-12 22:23:02 +00:00
jdolecek
621dac5bc2 define struct linux_stat64 used by linux_sys_*stat64() 2000-12-12 19:07:59 +00:00
jdolecek
c3dd514d84 regen 2000-12-12 19:03:10 +00:00
jdolecek
daff00c255 add emulation of Linux truncate64(2), ftruncate64(2), *stat64(2) 2000-12-12 19:01:59 +00:00
fvdl
0b7398458a Allow for passing through of certain ranges of ioctl command values
directly to a device. The device has to be aware of how to handle
with these special ioctls. Useful for LKMs that deal with Linux
binaries.
2000-12-12 15:11:56 +00:00
mycroft
f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft
fef5184d84 Regen. 2000-12-11 04:56:01 +00:00
mycroft
fc774b14ce getuid -> getuid_with_euid
getgid -> getgid_with_egid
2000-12-11 04:55:50 +00:00
mycroft
75fbdc005e Nuke LINUX_MACHDEP_PASS_PPID. 2000-12-11 04:55:09 +00:00
mycroft
cfe0002fc5 Regen. 2000-12-11 04:54:29 +00:00
mycroft
6d0c28a87c getpid -> getpid_with_ppid 2000-12-11 04:54:13 +00:00
mycroft
e99a608974 Regen. 2000-12-11 03:09:10 +00:00
mycroft
c0341b165d Round up sysent table size. 2000-12-11 03:09:02 +00:00
thorpej
a1479e118c Fix previous:
- EBADF, not NULL when a file descriptor can't be found.
- Check FIF_WANTCLOSE properly.
2000-12-10 17:34:25 +00:00
fvdl
e772d7a6d5 Add i386-specific code for a few ioctl calls. 2000-12-10 14:09:59 +00:00
fvdl
8488f3e039 The gist of the Linux _IOX definitions was the same for all platforms;
move it to the MI linux_ioctl.h and only leave the MD bits in the MD
header files.
2000-12-10 14:07:22 +00:00
christos
835b5d35c5 how many different prototypes does linux_syscall() need finally? sheesh! 2000-12-09 19:51:44 +00:00
jdolecek
415500a28f regen 2000-12-09 12:27:00 +00:00
jdolecek
c557c9f0f9 add more unimplemented syscalls to list 2000-12-09 12:23:35 +00:00
mycroft
f348afacb9 Regen. 2000-12-09 05:37:01 +00:00
mycroft
d47448bce6 Add the %% separators. 2000-12-09 05:31:10 +00:00
mycroft
9682cf0b09 Add the %% separators. 2000-12-09 05:27:28 +00:00
jdolecek
6f4041b981 regen after addition of linux_sys_swapoff() 2000-12-02 16:45:51 +00:00
jdolecek
1acf11b550 add emulation of linux swapoff(2) 2000-12-02 16:43:50 +00:00
jdolecek
da1aefe9bf if machdep define LINUX_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put
linux_syscall() to emul_linux
define LINUX_MACHDEP_HAS_SEPARATED_SYSCALL for i386
2000-12-02 16:05:04 +00:00
jdolecek
31cf7b914c regen 2000-12-01 21:11:02 +00:00
jdolecek
058a5a87bd replace compat_09_sys_setdomainname() with linux_sys_setdomainname(),
compat_12_sys_swapon() with linux_sys_swapon() - this is to drop dependency
on COMPAT_12/COMPAT_09
2000-12-01 21:02:55 +00:00
jdolecek
b490742cef if LINUX_MACHDEP_PASS_PPID_AND_EUID is defined for given arch, add
flags EMUL_GETPID_PASS_PPID|EMUL_GETID_PASS_EID to emul_linux
define this option for alpha
2000-12-01 20:31:13 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
jdolecek
872ef3b1fb don't use linux_emuldata for now, so that this compiles after
rev 1.2 of compat/linux/common/linux_emuldata.h
2000-11-27 22:23:09 +00:00
jdolecek
ad1c55c73b implement PTRACE_{GET|SET}FPREGS and framework for PTRACE_{PEEK|POKE}USER
this makes it possible to attach to linux process with linux gdb and
see top-most function on traceback; lower functions are not available,
probably due to bad frame setup
it's not possible to setup breakpoints - Linux gdb uses hw breakpoints,
so support for them would need to be written
2000-11-21 12:28:15 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
erh
7d91e4941a Regen. 2000-11-17 03:58:01 +00:00
erh
f96aee80d6 Make the linux compatibilty code work on the alpha. (horay!) (at last!)
Two main changes:
	Create a linux_elf64_copyargs that uses the linux specific LinuxAuxInfo
	structure.  This is only used on the alpha.  i386 and m68k use the
	standard elf copyargs function.

	Since linux's approach to binary compatibilty is to look as much
	like osf1 as possible, add all the osf1 syscalls that we have
	implemented to the linux syscall table.  This includes get/setsysinfo,
	ported from FreeBSD.

In order for linux compat to work you must have COMPAT_OSF1, COMPAT_43,
COMPAT_09, COMPAT_12 and COMPAT_13 on also.
2000-11-17 03:55:17 +00:00
jdolecek
78b866e95a change the type of *syscallnames[] array to 'const char * const foo[]' 2000-11-13 21:32:15 +00:00
erh
1f16400706 Update the names of some unimplemented syscalls to match what linux calls them. Match const in parameters to our sys_writev. 2000-11-08 04:19:00 +00:00
jdolecek
8d9bc8494c move definition of LINUX_PTRACE_{SET|GET}(FP)REGS flags to
sys/compat/linux/common/linux_ptrace.h, they seem to be actually MI
2000-11-01 21:02:08 +00:00
jdolecek
a6a1220287 regen 2000-11-01 20:43:56 +00:00
jdolecek
27d3e13121 support mlockall(), munlockall() - they are same as respective NetBSD syscalls 2000-11-01 20:38:49 +00:00
erh
5b09e159e7 Add sys/proc.h so this compiles. 2000-10-16 03:18:04 +00:00
itohy
a1a00824e1 Regen. 2000-08-31 03:49:44 +00:00
itohy
e2319847de Add linux_sys_sigaltstack(). 2000-08-31 03:46:30 +00:00
christos
7f6c062b21 regen 2000-08-23 17:01:20 +00:00
christos
303ab3ee07 add support for syscall 186 [sigaltstack] 2000-08-23 16:59:51 +00:00
cgd
0199b04bef update for changed makesyscalls.master 2000-08-18 19:35:15 +00:00
cgd
287e8a9edf update for new makesyscalls.sh, and also for correct ids for changed
syscalls.master files.  (you need to regenerate after checking in
syscalls.master to get the correct ids.)
2000-08-18 19:19:50 +00:00
mrg
c48063facd remove include of <vm/vm.h> 2000-06-29 02:40:37 +00:00
mrg
89d0a3e519 remove redundant vm includes. 2000-06-26 14:38:50 +00:00
veego
92c3e3856b Fix a comment. 2000-06-11 09:21:16 +00:00
veego
589a5222ec Remove the pcvt support. 2000-06-11 09:19:27 +00:00
jhawk
78732e454b Remove conditionization upon XSERVER -- all the code
so conditionalized is already conditionalized on (NWSDISPLAY > 0),
so is wscons-specific. wscons has no conditionalization on XSERVER;
neither should the linux compatibility code.

Removing this is necessary to keep linux X server emulation functionining
after GENERIC rev 1.337 removing "options XSERVER" (relegating it
to the pccons/pcvt-specific, and therefore depricated).
2000-05-15 01:12:07 +00:00
augustss
a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
erh
24d8dabec4 Regen. 2000-03-20 00:50:45 +00:00
erh
c21d536f5d sys_clone isn't MD on linux. 2000-03-20 00:50:14 +00:00
erh
1d34297aae Regen. 2000-03-18 23:53:38 +00:00
erh
38cf426930 Fix the msgrcv prototype. 2000-03-18 23:53:24 +00:00
erh
0174e6759b Add sigset_t parameter to restore_sigcontext, created by the sigreturn functions. linux_sigreturn still needs to use frame->extramask.
In setup_linux_rt_sigframe copy the signal mask to both possible locations.
2000-03-18 23:45:41 +00:00
erh
224f92b651 Pass a signal mask to restore_sigcontext. 2000-03-18 23:40:56 +00:00
erh
c7a82169cc Regen. 2000-03-18 22:46:53 +00:00
erh
2648835399 Use the new linux_sys_reboot and linux_sys_connect. 2000-03-18 22:46:27 +00:00
erh
528f8305be Regen. 2000-03-18 22:21:02 +00:00
erh
f3ae1c7294 Use linux_sys_reboot instead of sys_reboot. 2000-03-18 22:20:57 +00:00
erh
035c694c67 Regen. 2000-03-18 22:16:56 +00:00
erh
dd9cf0df56 Use linux_sys_reboot instead of sys_reboot. 2000-03-18 22:16:46 +00:00
erh
a159733250 Regen. 2000-03-18 20:44:01 +00:00
erh
50ef430f08 resync NOARGS lines with their definitions in kern/syscalls.master. resync STD lines with what is expected in .c files. (especially wrt adding const). Add missing prototype for setfsuid. Fix ptrace prototype. 2000-03-18 20:43:33 +00:00
abs
052fdc75bc regen 2000-02-03 10:22:34 +00:00
abs
89c5ba9f00 Add Linux fsuid system calls - from Witold J. Wnuk in PR kern/9335 2000-02-03 10:02:59 +00:00
tron
885afa5fce Regen. 1999-12-16 15:13:41 +00:00
tron
764eda2f33 Add ptrace(2). 1999-12-16 15:13:01 +00:00
tron
62397f55ef Add support for reading and writing non FPU register with ptrace(2). 1999-12-16 15:11:19 +00:00
tron
f5dfa6e4a0 Support a few more request types in ptrace(2) emulation. 1999-12-12 01:30:49 +00:00
tron
df8ccb921c Regen. 1999-12-12 00:00:42 +00:00
tron
0f4ddbec23 Incomplete but already working emulation of Linux's ptrace(2) for i386. 1999-12-12 00:00:16 +00:00
tron
d5ed9dc998 Regen. 1999-12-05 21:26:36 +00:00
tron
c65011886d Fix incorrect system call number. 1999-12-05 21:25:36 +00:00
tron
ea2517e20d Add proper stub code to make emulation of Linux's pread(2) and pwrite(2)
work. Fixes PR kern/8945 by Dave Sainty.
1999-12-05 21:24:28 +00:00
tron
a3dbb6bba5 Regen. 1999-12-04 22:14:52 +00:00
tron
8b5f9298fa Consistently call signal number arguments "signum". 1999-12-04 22:14:14 +00:00
tron
9bf4ab219a Correct signal array size. 1999-12-04 21:41:53 +00:00
tron
cd4ab88255 Extend signal mapping array to 64 entries like in the i386 emulation. 1999-12-04 21:38:57 +00:00
thorpej
2859f66b8f Add register prefixes. 1999-11-11 01:27:59 +00:00
fvdl
6c6e28d62b Handle the newer, larger sigset_t Linux now uses. 1999-10-04 17:46:37 +00:00
tron
c81bdfafa8 Regen from "syscalls.master". 1999-10-04 16:57:10 +00:00
tron
9b451861b9 Add emulation for scheduler related syscalls. Although they are dummies
even under Linux the posix thread library for "glibc2" requires them.
1999-10-04 16:55:54 +00:00
chs
f3a668ed84 eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
1999-09-12 01:16:55 +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
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
kleink
6a9c669828 Move linux_reenter_syscall() to a common location and rename it to
reenter_syscall() - it's going to be shared with COMPAT_SVR4 and soon be
used by native code.
1999-04-19 20:58:37 +00:00
tron
ab9ea90a8e Regen. 1999-03-30 07:37:58 +00:00
tron
b46e8732dd Add poll() emulation. 1999-03-30 07:29:05 +00:00
abs
bb2d7dd6dc Regenerate (with poll()) 1999-03-30 02:25:32 +00:00
abs
9c2ef08c3e Since NetBSD has poll(), use it.
Linux oracle install now gets far enough that I want our DBA around to
see if we can finish the job.
1999-03-30 02:22:49 +00:00
tron
82f6a3397b Regen. 1999-03-27 01:15:58 +00:00
tron
5b98b641a8 Add emulation for Linux "getcwd" syscall. 1999-03-27 01:10:56 +00:00
mrg
d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
thorpej
9d49c8139a Regen; pread(2) and pwrite(2). 1999-03-23 03:01:48 +00:00
thorpej
e8a3256e7f Add support for emulating the Linux pread(2) and pwrite(2) system calls;
just call the native NetBSD versions.

PR #7202, Jaromir Dolecek <dolecek@ics.muni.cz>.
1999-03-23 03:00:51 +00:00
itohy
cfcb284c09 cachectl -> cachectl1 1999-03-02 18:22:29 +00:00
itohy
da0a919754 Regen. 1999-02-10 10:38:15 +00:00
itohy
5af2655c9d const mania 1999-02-10 10:36:26 +00:00
christos
c3ae7cb2a9 Regen 1999-02-09 20:38:38 +00:00
christos
8024779058 const poisoning 1999-02-09 20:37:00 +00:00
kleink
5f79ea56a1 Rearrange the emulation-specific setregs() entry to set up the FPU control
word *after* calling the native setregs(), which would clobber it again.
1999-01-08 11:59:38 +00:00
erh
5c1e9076ad Make consistent: si_ -> lsi_ 1999-01-03 05:34:39 +00:00
erh
b19295f334 Speed up compilation by #include-ing C files from common into one file. 1999-01-03 05:29:31 +00:00
erh
f1a0e1b396 Avoid name clash with standard si_{uid,pid} fields. 1999-01-03 04:53:59 +00:00
drochner
8b9671f0f5 get "opt_compat_xxx.h" includes out of <sys/signal.h> 1998-12-19 16:27:09 +00:00
itohy
e0f218ab08 Generated from syscalls.master. 1998-12-15 19:28:31 +00:00
itohy
0176ca73ed Initial support of Linux/m68k compatibility. 1998-12-15 19:25:40 +00:00
christos
f0c7751046 Regen 1998-12-10 17:13:06 +00:00
christos
35af069802 defopt COMPAT_43 1998-12-10 17:07:04 +00:00
erh
efe6591d21 Whoops, _NSIG->LINUX__NSIG. 1998-12-10 00:31:50 +00:00
erh
f7373c1eba Add mmap header. 1998-12-08 21:02:18 +00:00
erh
cdc6431c25 At least make this compile. Add linux compat version of auxillary data eventually to be used to make the emulation work correctly. 1998-12-08 21:00:11 +00:00
erh
dd1e5f373e Define LINUX_GCC_SIGNATURE. 1998-10-22 18:13:02 +00:00
tron
76a0f5408b Regen. 1998-10-19 22:25:55 +00:00
tron
c71ccab136 Defopt SYSVMSG, SYSVSEM and SYSVSHM. 1998-10-19 22:21:19 +00:00
erh
edeeb71bd8 Add the sigaction call. 1998-10-07 23:48:04 +00:00
erh
ecdbc1172b Regen. 1998-10-07 23:08:26 +00:00
erh
358899800e Change sys_mmap to NOARGS. (args defined in linux_sys_mmap.h). Typo: siginfo_t->linux_siginfo_t. 1998-10-07 23:07:30 +00:00
erh
15eaa765b7 Files moved. Change the paths here. 1998-10-07 20:50:44 +00:00
fvdl
8096c25afc Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
1998-10-04 00:02:23 +00:00
christos
908291d2fe Attempt to fix the mess. 1998-10-03 20:17:36 +00:00
erh
fcaf5df8c2 Split compat/linux/linux_signal.c into i386, common and multi-architecture parts. 1998-10-01 02:27:33 +00:00
erh
7588fef564 Moved here from arch/i386/include/linux_machdep.h. 1998-10-01 02:22:01 +00:00
erh
ecb2c14c6e Moved here from arch/i386/i386/linux_machdep.c. 1998-10-01 02:17:31 +00:00
erh
0b412af4e1 Add linux i386 machine type. 1998-10-01 02:09:12 +00:00
erh
39fa21b763 Regen. 1998-10-01 02:05:32 +00:00
erh
14b1e271b5 Move compat/linux/syscalls.master to i386. Add a few syscalls while I'm here. 1998-10-01 02:03:17 +00:00
erh
9c4b9e9840 Split compat/linux/linux_termios.h into i386 and common parts. 1998-10-01 01:52:58 +00:00
erh
5139d084ba Split compat/linux/linux_ioctl.h into i386 and common parts. 1998-10-01 01:33:03 +00:00
erh
ecdc99eb5f Split linux_types.h into i386, common and multi-architechture parts. 1998-10-01 01:31:10 +00:00
erh
79905dc1f3 Split linux_socket.h into i386 and common parts. 1998-10-01 01:19:07 +00:00
erh
45c3ba3edb Split linux_fcntl.h into i386 and common parts. 1998-10-01 01:16:42 +00:00
erh
a3f5b4f0e7 Split compat/linux/linux_errno.h into i386 and common parts. 1998-10-01 01:03:37 +00:00
erh
a7f2aff0a7 Split compat/linux/linux_signal.h into i386 and common parts. 1998-10-01 00:57:29 +00:00
erh
b8454a0669 Split compat/linux/linux_mmap.h into i386 and common parts. 1998-10-01 00:53:44 +00:00
erh
948d228b24 Moved from compat/linux. 1998-10-01 00:42:01 +00:00
erh
72041f8e72 Alpha version of the linux compat machdep signal and machdep ioctl stuff. 1998-10-01 00:34:22 +00:00
erh
b513364563 Alpha specific version of sys_pipe and signal translation array. 1998-10-01 00:32:27 +00:00
erh
1a0a0103aa New list of files for the i386. 1998-10-01 00:29:11 +00:00
erh
293ccb5512 New makefiles for includes, syscall gen. 1998-10-01 00:28:33 +00:00
erh
ad1f9288a2 Stubs for future development of linux compat architechtures. 1998-09-30 21:55:57 +00:00
erh
a919a6b4a8 New header files for Linux compat on the Alpha. 1998-09-30 21:36:23 +00:00
erh
69ebd14bba Generate. 1998-09-30 21:34:32 +00:00
erh
847d4565e9 Initial support for linux compat on the alpha. Not quite working. 1998-09-30 18:01:53 +00:00
tv
b8aba69399 Bracket stray printf()s by #ifdef DEBUG. 1998-09-29 14:15:49 +00:00
mycroft
fb526e055c Substantial signal handling changes:
* Increase the size of sigset_t to accomodate 128 signals -- adding new
  versions of sys_setprocmask(), sys_sigaction(), sys_sigpending() and
  sys_sigsuspend() to handle the changed arguments.
* Abstract the guts of sys_sigaltstack(), sys_setprocmask(), sys_sigaction(),
  sys_sigpending() and sys_sigsuspend() into separate functions, and call them
  from all the emulations rather than hard-coding everything.  (Avoids uses
  the stackgap crap for these system calls.)
* Add a new flag (p_checksig) to indicate that a process may have signals
  pending and userret() needs to do the full (slow) check.
* Eliminate SAS_ALTSTACK; it's exactly the inverse of SS_DISABLE.
* Correct emulation bugs with restoring SS_ONSTACK.
* Make the signal mask in the sigcontext always use the emulated mask format.
* Store signals internally in sigaction structures, rather than maintaining a
  bunch of little sigsets for each SA_* bit.
* Keep track of where we put the signal trampoline, rather than figuring it out
  in *_sendsig().
* Issue a warning when a non-emulated sigaction bit is observed.
* Add missing emulated signals, and a native SIGPWR (currently not used).
* Implement the `not reset when caught' semantics for relevant signals.

Note: Only code touched by the i386 port has been modified.  Other ports and
emulations need to be updated.
1998-09-11 12:50:05 +00:00
perry
e1601dc2ca bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:36:58 +00:00
perry
f15ade7552 enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang 1998-08-05 00:44:32 +00:00
drochner
81fd096b37 Since wscons can support VT_xxx ioctl()s, enable them if NWSDISPLAY > 0.
Implement KDGKBTYPE and KDGKBENT, this will make X servers happy.
1998-06-11 22:26:13 +00:00
kleink
687ea7404c Fix some arithmetics lossage on typeless pointers. 1998-05-08 16:55:15 +00:00
mycroft
26c238db7d Linux's getsid(2) does in fact return a pid, not a pointer. 1998-02-20 18:09:04 +00:00
thorpej
c0ef23f235 Change a comment to reflect new makesyscalls.sh behavior. 1998-02-19 00:41:12 +00:00
mycroft
a963fe5864 Store the initial NPX control word appropriate for the emulation in the saved
FPU state, and use it when initializing the FPU on demand.
1998-01-24 13:19:46 +00:00
mycroft
a9a7cc88d1 Need foo_exec.h. 1998-01-24 12:45:16 +00:00
mycroft
8bd9717302 Add local versions of setregs(), so I can tweak some registers later. 1998-01-24 12:42:22 +00:00
thorpej
54a35a6019 Generate dependencies on the USER_LDT option. 1998-01-22 00:39:16 +00:00
thorpej
cf591e644b Generate dependencies on the VM86 option. 1998-01-15 22:25:52 +00:00
christos
05d3f8a2e9 PR/4794: Urban Boquist: Linux cdrom ioctls are missing 1998-01-15 14:52:11 +00:00
perry
3c47900572 RCSID Police. 1998-01-05 17:51:27 +00:00
christos
7e8c979fa9 ostat -> stat43 1997-10-16 23:53:07 +00:00
mycroft
2e52ce5fd7 Pull in vmparam.h as necessary. 1997-10-16 04:23:36 +00:00
mycroft
68fb837229 Fix a typo inherited from kern/syscalls.master. 1997-10-15 17:18:17 +00:00
mycroft
523d84775a Emulate mremap(2) by returning ENOMEM for now. This should be sufficient for
realloc(3) and other uses.  From Matthias Scheler in PR 3920.
1997-10-10 06:25:34 +00:00
thorpej
454c1df5f3 Use compat_12_sys_swapon(). 1997-06-13 17:30:19 +00:00
augustss
bc5c0f6530 Add Linux nice() syscall. 1997-04-07 14:13:16 +00:00
augustss
32801cf383 * Move the Linux audio emulation into its own directory and rename it
OSS (aka VoxWare) audio emulation.
* Use the OSS audio emulation for Linux and FreeBSD.
* Add mixer emulation to the OSS emulator.
1997-04-04 15:35:54 +00:00
mycroft
eb41ccd5fe Emulate the SOUND_PCM_WRITE_CHANNELS ioctl. From PR 3356, by Lennart
Augustsson.  Also add hooks for mixer ioctls.
1997-03-19 05:12:13 +00:00
sommerfe
d26717de0e Workaround for building linux-emulation LKM. 1996-10-29 02:19:25 +00:00
christos
bd73314ed9 backout previous kprintf changes 1996-10-13 03:19:38 +00:00
thorpej
4879f62ed8 Need <sys/exec.h> for the PS_STRINGS definition. 1996-10-12 02:20:37 +00:00