Commit Graph

437 Commits

Author SHA1 Message Date
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
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
fvdl 69761c2aa8 Update list of Linux syscalls and implement the ones that are likely to be
used and doable.
1996-05-20 01:59:09 +00:00
christos 5503f7b749 Prototype and gcc -Wall cleanups 1996-05-03 19:41:56 +00:00
christos 8fd0f1f8b3 Add missing prototypes. 1996-05-03 19:26:28 +00:00
mycroft 7a8c8f8a5c Turn off the alignment check flag when entering a signal handler. 1996-04-18 08:36:20 +00:00
mycroft ad790f628e Turn off the trace flag when delivering a signal. 1996-04-12 08:44:35 +00:00
mycroft 48643c6605 Export [gs]et_vflags(), and always use them when saving/restoring registers
in VM86 mode.
Allow changing of *all* PSL bits in VM86 mode; some applications don't work
right otherwise, and all the nasty bits are virtualized anyway.
Make sure PSL_VIF, PSL_VIP, and PSL_VM don't show up in the user's view of
the PSL.
1996-04-11 07:47:33 +00:00
christos 151fa70f78 Prototyping changes. 1996-04-05 00:01:10 +00:00
christos 363777341c - Add missing prototypes
- Fix bugs with reversed arguments that prototyping discovered
1996-04-04 23:51:36 +00:00
mycroft 8dbac07c10 Add a message to help us debug Linux compat. 1996-03-08 06:00:53 +00:00
mycroft 6bc0baa1ce Separate ioctl emulation by group. Add (minimal) audio emulation. 1996-03-08 04:55:59 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
fvdl 2df1785997 msync, readv and writev were recently added to the Linux kernel; add them
to the emulation as well.
1995-12-18 14:35:08 +00:00
mycroft 9df1f90849 We don't need a private version of fork() here any more. 1995-12-09 04:01:42 +00:00
mycroft 5d9ff18d18 Switch to user code and data selectors in the GDT while handling signals. 1995-10-10 04:54:18 +00:00
mycroft 25f53a986f Add USERMODE() and KERNELMODE() macros, and use them. 1995-10-10 04:45:03 +00:00
fvdl 81d650570f Implement the KDGKBMODE ioctl for Linux (possible with pcvt 3.32). 1995-10-08 22:45:20 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej 7d7396c414 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:53:47 +00:00
thorpej e1da0d5390 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:37:27 +00:00
fvdl 43279db68d Fix PR #1445 (incorrect ifdef/else/endif), from Bill Sommerfeld via
John Kohl.
1995-09-08 07:57:15 +00:00
fvdl df2f99818a Get notion of VT number right. 1995-09-07 21:55:43 +00:00
fvdl a396a097b7 Fix some bugs & typing problems. 1995-09-07 21:48:59 +00:00
mycroft 29053c58b2 SA_ONSTACK --> SS_ONSTACK 1995-09-01 20:05:59 +00:00
fvdl 10101d52ba Only define some vars (one of pcvt-specific type) when pcvt is configured.
Fixes PR #1424 (from Mike Long)
1995-08-31 09:33:10 +00:00
fvdl 0324e91dae Remove VT-switch disabling hack now that pcvt handles this. 1995-08-30 00:32:51 +00:00
fvdl 9ca2821d22 A couple of definitions added for previous changes. 1995-08-27 20:57:18 +00:00
fvdl 040bcc367d Add some yucky code to emulate Linux VTs well enough to make svgalib
stuff work reasonably well.
1995-08-27 20:56:38 +00:00
fvdl d308963c5d Add a hook for MD ioctl calls, plus a couple of more changes to make
svgalib binaries work on the i386
1995-08-27 20:51:48 +00:00
fvdl 28d9d64235 Emulate some syscalls that appear in Linux 1.3: a select() with normal args,
getdents() and flock().
1995-08-23 20:17:28 +00:00
mycroft 9a0cd13442 Implement the old and older uname(2) calls. 1995-08-21 03:42:09 +00:00
mycroft 54c148fda5 Convert 230400 baud. 1995-08-16 04:14:51 +00:00
mycroft 9b899c17cd Export bsd_to_linux_sig[], and use it. 1995-08-14 02:19:08 +00:00
mycroft baaaba9bc5 Rearrange #includes. 1995-08-14 01:38:24 +00:00
mycroft 88b8e43a80 Rearrange #includes. 1995-08-14 01:27:43 +00:00
mycroft eba2f2e81a Move signal types into signal.h. 1995-08-14 01:11:52 +00:00
mycroft fef558efaa Convert SA_NOMASK and SA_ONESHOT.
Clean up this code a bit.
1995-08-13 22:55:28 +00:00
fvdl 83ed983d47 mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer) 1995-07-24 06:35:28 +00:00
christos fc741845e6 Stackgap_init() now takes an p->p_emul argument. 1995-06-24 20:36:28 +00:00
christos 6b95b513b0 Use compat_util.[ch]. 1995-06-24 20:20:04 +00:00
fvdl 1634acc3e4 Include file change. 1995-06-22 21:35:42 +00:00
fvdl c4aaa6000c * Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
1995-06-22 21:34:27 +00:00
fvdl fc7cfb5f0b * Make Linux ELF binaries work. Lots of code duplication, but it will have to do
for now.
* Add a sanity check in linux_uselib
1995-06-11 14:56:47 +00:00
mycroft 32659780f6 Convert TCP socket options. 1995-05-28 10:16:32 +00:00
mycroft e89504670f Convert IP socket options. 1995-05-28 08:50:17 +00:00
mycroft dbaa7014ef Turn off a debugging printf(). 1995-05-07 03:27:37 +00:00
mycroft 4e9f66f9ca Improve Linux signal emulation, and emulate the modify_ldt() call. 1995-05-07 02:59:30 +00:00
mycroft e97a07b5a4 Add stub for linux_modify_ldt(). 1995-05-06 18:17:15 +00:00
mycroft 2b0696ff3c Add linux_modify_ldt(), if __i386__. 1995-05-06 18:16:35 +00:00
mycroft 73fead01fc Fix typos. 1995-05-01 19:45:42 +00:00
mycroft 8792c8e284 Save and restore %fs and %gs across signals. 1995-05-01 14:15:07 +00:00
mycroft 17dd9534bf Update to match include files. Eliminate _ucodesel, _udatasel, and IdlePTD. 1995-05-01 08:06:22 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
fvdl fb00b736fd Arch dependant defs for Linux. Just signal stackframe definition for now. 1995-04-07 22:31:19 +00:00
fvdl 46de9a804f Changes because of proper Linux signal stackframe building, and
seperate signal trampoline code. Ugly hack in trap.c no longer
needed.
1995-04-07 22:29:34 +00:00
fvdl 623f1e3986 Handle Linux signal tramp code differently. Some changes because of the
now seperate Linux signal trampoline code. Add linux_sigreturn to
syscalls.master.
1995-04-07 22:23:22 +00:00
fvdl faf1442285 Add the Linux pause() system call. Fix the arguments to sigsuspend(). 1995-03-10 22:55:04 +00:00
fvdl ad4540a424 Fix typo in comment. 1995-03-08 15:17:49 +00:00
fvdl 182c23c8bc Added a few more system calls.
More consistent alternate root file semantics throughout.
1995-03-05 23:23:37 +00:00
fvdl 3bf459f350 Added Linux compat code. 1995-02-28 23:24:35 +00:00