manu
d932075a0e
Fixed a typo (two instructions dupliated at the end of code that were not reached)
2001-01-19 12:49:22 +00:00
manu
e20b81421d
Added Linux errno mapping for powerpc
2001-01-19 12:27:13 +00:00
manu
3c98a504b9
Added previously created files for powerpc Linux compatibility to the kernel
...
config system
2001-01-19 01:51:16 +00:00
manu
5472427809
Added powerpc specific code for Linux compatibility on powerpc ports
2001-01-19 01:36:47 +00:00
manu
3ec1257260
Added various header files for initial Linux compatibility on powerpc ports
2001-01-19 01:31:23 +00:00
jdolecek
34c8ae80da
constify
2001-01-18 20:28:15 +00:00
jdolecek
e912e655e1
kill local declaration of native_to_linux_errno[], one in common/linux_errno.h suffices
2001-01-18 18:41:20 +00:00
tv
e58532a4bf
No-op commit to force update to a non-"-kk" revision.
2001-01-18 17:47:58 +00:00
fvdl
6784825249
EINVAL -> ENOTTY
2001-01-18 13:56:32 +00:00
fvdl
c99aee0084
Add emulation of KIOCSOUND.
2001-01-09 13:01:03 +00:00
fvdl
bcac62574c
Implement KDGETMODE ioctl.
2000-12-29 22:06:58 +00:00
fvdl
1b9256990d
Regen.
2000-12-29 20:11:52 +00:00
fvdl
17f991c744
Don't pass through link(2) directly, as we need to do altpath checks.
2000-12-29 20:11:32 +00:00
fvdl
1575b3e35a
Regen.
2000-12-29 20:10:46 +00:00
fvdl
cc449a70ed
Don't pass through link(2) directly, as we need to do altpath checks.
2000-12-29 20:10:17 +00:00
fvdl
e8e363d309
Regen.
2000-12-29 20:09:57 +00:00
fvdl
54450b21c0
Don't pass through link(2) directly, as we need to do altpath checks.
2000-12-29 20:09:39 +00:00
fvdl
b930296d07
Under Linux it's possible to return values through the ioctl system
...
call directly (i.e. not a reference argument, but a direct return
value). So far I have only seen this with binaries that talk
to their own device modules, using non-standard ioctl calls.
Hence, allow for a pass-through ioctl call using PTIOCLINUX to
return EJUSTRETURN, signalling that the return value is in
the 'data' field of the structure, which can then be put in 'retval'.
2000-12-29 20:07:25 +00:00
sommerfeld
5217f6335b
Let COMPAT_LINUX build with DEBUG
2000-12-27 23:47:58 +00:00
fvdl
7fbbc11d9c
Regen.
2000-12-27 22:04:35 +00:00
fvdl
7cd004ead8
Add all uid and gid calls, and do the right thing for the older 16 bit
...
ones.
2000-12-27 22:04:05 +00:00
fvdl
41e840d9c7
Regen.
2000-12-27 22:03:10 +00:00
fvdl
11156e7e47
Add all uid and gid calls, and do the right thing for the older 16 bit
...
ones.
2000-12-27 22:02:41 +00:00
itohy
811fede455
Regen.
2000-12-26 01:57:57 +00:00
itohy
4aee4579ba
Declare linux_sys_setgid16() (NOARGS -> STD).
...
Change syscall #182 from linux_sys_lchown() to linux_sys_lchown16().
2000-12-26 01:57:10 +00:00
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