Commit Graph

388 Commits

Author SHA1 Message Date
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