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
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
fvdl
7cd62a508c
Check for status NULL argument in wait4 and waitpid. From PR #1392
...
by Thomas EberHardt.
1995-08-21 23:15:51 +00:00
mycroft
7f01d32fb3
syscalls.master changed.
1995-08-21 03:42:35 +00:00
mycroft
9a0cd13442
Implement the old and older uname(2) calls.
1995-08-21 03:42:09 +00:00
mycroft
2c03307168
If updating the timeval would make it negative, zero it instead.
1995-08-16 04:50:17 +00:00
mycroft
dc41c4257e
Allow bogus timevals, per Linux.
1995-08-16 04:29:49 +00:00
mycroft
54c148fda5
Convert 230400 baud.
1995-08-16 04:14:51 +00:00
fvdl
02b3c95be6
Implement the rest of the sysv ipc calls ({sem,msg}*())
1995-08-15 21:14:32 +00:00
mycroft
e9d68a777e
Export bsd_to_linux_sig[], and use it.
1995-08-14 02:58:29 +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
283f211782
Sort.
1995-08-14 01:34:09 +00:00
mycroft
01fa87477a
syscalls.master changed.
1995-08-14 01:29:05 +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
mycroft
ad35618e1e
Linux doesn't allow select(2) to be restarted.
1995-08-13 17:51:40 +00:00
fvdl
64b54f62f4
syscalls.master changed
1995-07-24 06:39:38 +00:00
fvdl
83ed983d47
mkdir() has 2 arguments.. fixes PR 1248 (from Brad Spencer)
1995-07-24 06:35:28 +00:00
fvdl
059661a991
Fix totally bogus implementation of a few fcntl() calls. I think I'll go
...
live on a deserted island now..
1995-07-03 21:33:59 +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
769310e81d
Linux select() returns the amount of time left before a timeout would have
...
occured in the timeval structure. Emulate this behavior. Reported by
Theo de Raadt.
1995-06-11 21:51:38 +00:00
fvdl
fb777788b1
Don't forget to acknowledge that all the ELF stuff was taken from
...
Christos' svr4 code.
1995-06-11 15:15:09 +00:00
fvdl
bfc9b29ab2
Remade these after syscalls.master had changed.
1995-06-11 14:57:56 +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
1e1e52e395
Rename the dirent fields to match Linux. Make sure the requested buffer
...
is no larger than MAXBSIZE.
1995-06-10 22:19:06 +00:00
mycroft
cc8da4254d
Need netinet/tcp.h.
1995-05-28 10:20:46 +00:00
mycroft
32659780f6
Convert TCP socket options.
1995-05-28 10:16:32 +00:00
mycroft
00569bf574
Fill in `name' argument to getsockopt() correctly.
1995-05-28 09:39:45 +00:00
mycroft
116c7de730
Fix typo.
1995-05-28 08:52:07 +00:00
mycroft
e89504670f
Convert IP socket options.
1995-05-28 08:50:17 +00:00
mycroft
fbc3ef234b
Get rid of damned `static's.
1995-05-28 08:09:51 +00:00
mycroft
bfd22ffde8
Generate the new ps_strings format.
1995-05-16 14:19:03 +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
christos
44eef7c28b
- added struct emul to all emulations.
...
- removed all setup functions.
- added copyargs() functions where needed.
1995-04-22 19:48:19 +00:00
cgd
27228062f9
config.new file lists
1995-04-17 16:12:14 +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
c37a9a26c6
syscalls.master was changed, so update these
1995-04-07 22:24:11 +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
mycroft
cd50457f15
Fix conversion of `type' and `whence' values in struct flock.
1995-04-04 04:21:30 +00:00
mycroft
6865b2589a
Emulate the return value of times() better.
1995-03-22 05:24:47 +00:00
mycroft
f75ba16b09
Update to use timer{add,sub}().
1995-03-21 13:33:34 +00:00
fvdl
e0518ae749
Update automatically generated syscall files.
1995-03-10 23:10:35 +00:00
fvdl
faf1442285
Add the Linux pause() system call. Fix the arguments to sigsuspend().
1995-03-10 22:55:04 +00:00
fvdl
9e7e8cd294
Add missing structure conversion for IPC_RMID.
1995-03-08 17:27:42 +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