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
18c41cce3e
Moved to compat/linux/i386.
1998-10-01 00:37:53 +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
cb71edeaa4
Common makefile to process syscalls.master files.
1998-09-30 21:38:46 +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
f384c47bc7
Regen.
1998-09-11 23:13:32 +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
rvb
26b955eec7
ufs_readdir no longer checks if vp->v_type != VDIR so
...
the individual emulated readdirs must check.
Since netbsd and freebsd return EINVAL for the error
and I don't know what the other platforms do, return
EINVAL for them too.
1998-09-08 20:02:51 +00:00
christos
8fb507a3b7
Assign copyright to TNF.
1998-09-05 14:50:25 +00:00
thorpej
ff266f0937
Add some braces to make egcs happy.
1998-08-18 18:23:07 +00:00
perry
e1601dc2ca
bzero->memset, bcopy->memcpy, bcmp->memcmp
1998-08-09 20:36:58 +00:00
kleink
86233eeede
Regen again, to indicate which master revision these were generated from.
1998-08-07 17:21:35 +00:00
augustss
48bae9ee88
Add MIDI support. The MIDI devices can be accessed as ``raw'' through
...
the /dev/rmidiN devices, or with a sequencer interface via /dev/music.
So far the only supported MIDI device is the MPU401 port on SoundBlaster
(and only on SB on isapnp, since we do not have locators with multiple
values yet).
1998-08-07 00:00:55 +00:00
perry
f15ade7552
enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang
1998-08-05 00:44:32 +00:00
thorpej
37b70b3064
Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
...
to match the new uio_resid type.
1998-07-28 21:39:54 +00:00
thorpej
35bb79bc83
Oops, fix typo, pointed out by Urban Boquist <boquist@cs.chalmers.se>.
1998-07-07 00:40:27 +00:00
thorpej
33f066d24c
Implement the shrinking and no-change bits of the Linux mremap(2) system
...
call, provided by Urban Boquist <boquist@cs.chalmers.se> in PR #5693 .
Add a comment about how one might implement the growing bit of mremap(2).
1998-07-02 23:26:58 +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
487d1fa05e
Fix typo in utime().
1998-03-24 09:47:30 +00:00
fvdl
a377495cfb
Only free cookiebuf when sure that the vop actually allocated it.
1998-03-03 13:44:48 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
mycroft
0e4a7ffbe0
Regen.
1998-02-20 18:09:29 +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
dc4fe3d32d
Regen: makesyscalls.sh changed.
1998-02-19 03:34:15 +00:00
thorpej
e94f57bd08
regen; makesyscalls.sh changed
1998-02-19 00:41:47 +00:00
thorpej
c0ef23f235
Change a comment to reflect new makesyscalls.sh behavior.
1998-02-19 00:41:12 +00:00
kleink
96f0dccbdd
* Use sys___posix_{chown,fchown}() instead of sys_{chown,fchown}().
...
* Change reference from sys_posix_rename() to sys___posix_rename().
1998-02-14 21:57:02 +00:00
thorpej
821a4fec46
Add a comment clearly describing that Linux's getsid(2) differs from
...
the XPG4.2 definition in that it returns the kernel virtual address
of the session structure, rather than the process group ID of the
session leader.
1998-02-14 01:28:15 +00:00
kleink
552ec236a0
Map ENOMSG.
1998-02-10 14:37:38 +00:00
mikel
4de16acd9c
update errno maps, we now have EIDRM
1998-02-06 08:26:02 +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
mycroft
9dd67a9098
Prototype new functions.
1998-01-24 12:39:37 +00:00
mycroft
72623d8443
Use linux_setregs().
1998-01-24 12:32:15 +00:00
mycroft
769c9d4707
Clean this up a bit.
1998-01-22 16:33:57 +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
thorpej
80fff795f9
Regen.
1998-01-09 06:19:02 +00:00
thorpej
585f0dec73
Regen: back out RCD ID related changes.
1998-01-08 00:17:11 +00:00
perry
36bd5a5407
regened with RCSIDs in place
1998-01-05 18:23:00 +00:00
perry
3c47900572
RCSID Police.
1998-01-05 17:51:27 +00:00
fvdl
af221f1c41
msync -> __msync13
1997-10-21 00:57:38 +00:00
thorpej
14cd99880c
Fix the shared library versioning snafu caused by the recent changes
...
to the stat(2) family and msync(2). This uses a primitive function
versioning scheme.
This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.
From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
mycroft
762d77e123
Fix bogosity in mknod(2) translation.
1997-10-19 18:35:09 +00:00
christos
ec57088486
Regen.
1997-10-16 23:55:23 +00:00
christos
79acd83ca5
check for st_nlink overflow
1997-10-16 23:54:40 +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
91302e62ef
Regen.
1997-10-16 03:36:14 +00:00
mycroft
68fb837229
Fix a typo inherited from kern/syscalls.master.
1997-10-15 17:18:17 +00:00
fvdl
d85f38cbec
Fix braino in my interpretation of the eof flag to VOP_READDIR.
1997-10-10 22:16:04 +00:00
mycroft
16652e8449
Regen.
1997-10-10 06:49:08 +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
fvdl
d6e5e295fa
Signal error when getting a 64 bit offset cookie that can't be stored
...
in 32 bits. Provide an error message to the user, and return EINVAL.
Also, pay attention to the EOF flag from VOP_READDIR. Correct a
misspell in a panic message.
1997-10-10 01:42:21 +00:00
kleink
c80051ee4e
Add missing preparation of F_GETLK parameters in linux_sys_fcntl(); fixes PR
...
port-i386/4083 from Matthias Scheler <tron@lyssa.owl.de>, but vastly cleaned
up as previously suggested by myself.
1997-09-05 01:49:12 +00:00
bouyer
1cd83a5971
Fix "missing entries" bug when reading large directories: When reading a
...
directory and running out of space in the dest buffer, off should point to the
current entry (which was not saved) and not to the next.
I discovered this bug using linux and SunOS emulation over NFS, but seems to
affect other emulations as well.
1997-08-04 09:48:07 +00:00
augustss
9745684ebe
Changes to the sudio system:
...
- It is now possible to handle devices that want "looping" DMA,
e.g. the SoundBlaster correctly. The WSS and SB drivers use this.
To do this several new methods were introduced in audio_hw_if.
- Different silence handling (forced by previous change).
- The audio driver can now be mmap()-ed, but due to problems in
the VM system only for writing for now.
- The OSS (Linux) audio emulation takes advantage of some of the
new features.
1997-07-27 01:16:32 +00:00
pk
e3680b0e26
config.new => config
1997-07-20 20:33:08 +00:00
kleink
96588fead9
Use sys_posix_rename() instead of sys_rename() as it's the behaviour of the
...
native implementation.
1997-06-27 05:29:34 +00:00
thorpej
ac4da17507
Regen: Use compat_12_sys_swapon().
1997-06-13 17:31:37 +00:00
thorpej
454c1df5f3
Use compat_12_sys_swapon().
1997-06-13 17:30:19 +00:00
kleink
5482ee2d93
Fixed copyin() argument botch in shmctl() IPC_STAT handling.
1997-05-08 14:33:11 +00:00
augustss
52e73da1a4
Regen.
1997-04-07 14:15:06 +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
b1a3eda88c
Copy back the format we set in SNDCTL_DSP_SETFMT.
1997-03-20 16:11:29 +00:00
mycroft
41bbc3f5b6
SOUND_PCM_WRITE_CHANNELS -> SNDCTL_DSP_CHANNELS, to match current Linux code.
1997-03-20 04:21:31 +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
thorpej
8f8abcd69c
Regen; makesyscalls.sh emits comments now.
1997-01-13 18:49:02 +00:00
fvdl
bb31faf853
Make this compile again, including Politically Correct const handling.
1996-12-22 23:00:02 +00:00
fvdl
2452eadc60
Avoid compiler warnings when none of the SYSV* options is defined.
1996-11-15 09:51:25 +00:00
sommerfe
d26717de0e
Workaround for building linux-emulation LKM.
1996-10-29 02:19:25 +00:00
fvdl
990f0ce9b7
Add RCS Id.
1996-10-17 19:46:39 +00:00
christos
d551a4edf9
catch up with Jason's exec.h inclusion.
1996-10-13 18:30:05 +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
christos
5476886e52
printf -> kprintf, sprintf -> ksprintf
1996-10-10 17:47:29 +00:00
cgd
912e6fef44
include <sys/exec.h> rather than <machine/exec.h>
1996-10-07 21:47:33 +00:00
jtk
fb2727b7e6
update to compile; needs new enum name 'Elf_sht_progbits'
1996-10-05 00:12:49 +00:00
cgd
65148dea43
kill (re)definitions of EXEC_ELF32. They're no longer necessary
...
(because of the EXEC_* option changes), and now cause warnings.
1996-10-03 05:02:05 +00:00
thorpej
8dd444adbd
Fix a section header check that didn't get updated with the elf32/elf64
...
changes. Make this compile again with the new EXEC_* options.
1996-10-03 02:16:18 +00:00
christos
76f9ea8676
Elf32_sht_progbits -> Elf_sht_progbits
1996-09-30 23:56:01 +00:00
cgd
7c3255776d
slightly clean up some of the changes made when ELF64 support went in
1996-09-27 18:14:23 +00:00
cgd
9c3e274c7b
adapt ELF-using compat code to use new ELF definitions/code. At this point,
...
these are restricted to 32-bit ELF, and should be severely cleaned.
1996-09-26 20:52:42 +00:00
mycroft
a8fd25767d
Define execv() and execve() consistently across emulations.
...
Do path name translation.
1996-09-03 03:12:17 +00:00
mycroft
118b9b478d
sys/dir.h -> sys/dirent.h
1996-08-10 09:08:26 +00:00
mycroft
365a977533
Catch up with setre[ug]id() changes.
1996-06-23 11:13:32 +00:00
christos
d83602c110
Simplify and add comments.
1996-06-13 19:27:01 +00:00
christos
4d9a6e0930
- Pass the Elf32_Ehdr in the linux probe function, and use it!
...
Since linux binaries are (mostly) always compiled with gcc, look for
the gcc signature in the .comment section header: "\0 GCC: (GNU) ".
I've changed the probe order in kern/exec_elf.c to probe for linux ELF
binaries first and fall back to SVR4 binaries. This makes statically
linked binaries work for both linux and svr4. Note that gcc-compiled
svr4 binaries, still contain the operating system signature first and
then the GCC signature, so there is no conflict. Yes this is a hack.
1996-06-13 18:42:01 +00:00
fvdl
484a6c9fe4
Regen.
1996-05-20 02:00:53 +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
d7130e8385
- Prototyping changes
...
- Fix bug that gcc -Wall found in linux_sys_getpgid()
1996-04-04 23:56:01 +00:00
christos
363777341c
- Add missing prototypes
...
- Fix bugs with reversed arguments that prototyping discovered
1996-04-04 23:51:36 +00:00
mycroft
46c087980e
Add explicit return types.
1996-04-03 08:55:20 +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
mycroft
5cdb5e8ebe
Map SIOCGIFFLAGS and SIOCGIFADDR (et al).
1996-02-27 08:18:16 +00:00
mycroft
48ec0383a3
Use OSIOCGIFCONF in previous.
1996-02-27 07:25:34 +00:00
mycroft
4b2741c436
Map SIOCGIFCONF.
1996-02-27 05:51:05 +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
4ed045ab27
syscalls.master changed
1995-12-18 14:35:43 +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
812fdf80d2
Reran makesyscalls.sh.
1995-12-09 04:04:45 +00:00
mycroft
9df1f90849
We don't need a private version of fork() here any more.
1995-12-09 04:01:42 +00:00
thorpej
b2f1fb085b
Fix transposed copyin() args, from Niklas Hallqvist <niklas@appli.se>.
1995-11-16 18:42:05 +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
mycroft
652c9eff74
Use cookies for directory offset, mostly from Greg Hudson.
1995-10-09 11:23:57 +00:00
fvdl
82079ba5b3
Work around calling the NetBSD fcntl(F_{G,S}ETOWN) for now; it is too
...
restrictive to implement the Linux equivalent (and perhaps too restrictive
overall).
1995-10-08 22:53:43 +00:00
fvdl
7292169d66
Avoid unnecessary copyin() of shmid_ds struct for shmctl(IPC_RMID)
1995-10-08 22:49:29 +00:00
fvdl
81d650570f
Implement the KDGKBMODE ioctl for Linux (possible with pcvt 3.32).
1995-10-08 22:45:20 +00:00
mycroft
55c46e9514
Reran makesyscalls.sh.
1995-10-07 06:41:34 +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
thorpej
4d68188f17
makesyscalls.sh changed.
1995-09-19 22:24:14 +00:00
fvdl
788a8655bc
Update offset elsewhere in linux_getdents(); still emulate a bug in
...
Linux, but avoid endless loops.
1995-09-13 21:51:14 +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
698e606f39
syscalls.master changed
1995-09-07 21:49:52 +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
a7459f5321
syscalls.master changed
1995-08-27 20:53:31 +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
72e901b9ff
syscalls.master changed
1995-08-23 20:19:15 +00:00