Commit Graph

482 Commits

Author SHA1 Message Date
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
a499e56944 Add some ioctls for harddisk, floppy disk and console handling.
Implement a few extra cdrom ioctl calls.
Make sure to correctly use FILE_USE and FILE_UNUSE.
2000-12-10 14:12:16 +00:00
fvdl
e772d7a6d5 Add i386-specific code for a few ioctl calls. 2000-12-10 14:09:59 +00:00
fvdl
ec9b1e3f5e 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.

Add defintions for linux_ioctl_hdio and linux_ioctl_fdio.
2000-12-10 14:08:48 +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
fvdl
f86f1f091f Add linux_hdio.c and linux_fdio.c 2000-12-10 14:05:54 +00:00
christos
835b5d35c5 how many different prototypes does linux_syscall() need finally? sheesh! 2000-12-09 19:51:44 +00:00
jdolecek
a6ca890142 always fill in e_syscall in respective emul_*; if the emulation doesn't
have it's own separated *_syscall() function, use syscall()
2000-12-09 12:38:23 +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
445c16b759 implement linux_sys_setdomainname()/linux_sys_swapon(), using code
from compat_09_sys_setdomainname()/compat_12_sys_swapon().
2000-12-01 21:14:42 +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
011229ffcb make LKM safe 2000-12-01 18:16:54 +00:00
jdolecek
798f64c85b put linux_sys_uselib() to separate file linux_uselib.c 2000-12-01 13:49:35 +00:00
jdolecek
01040d97a2 add e_path (emulation path) to struct emul, which replaces emulation-specific
*_emul_path variables

change macros CHECK_ALT_{CREAT|EXIST} to use that, 'root' doesn't need
to be passed explicitly any more and *_CHECK_ALT_{CREAT|EXIST} are removed
change explicit emul_find() calls in probe functions to get the emulation
path from the checked exec switch entry's emulation

remove no longer needed header files

add e_flags and e_syscall to struct emul; these are unsed and empty for now
2000-12-01 12:28:30 +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
a53687b13e (de)allocate linux emuldata on fork/exec/exit as needed 2000-11-21 12:23:29 +00:00
jdolecek
33d7a60ccc comment out ps_siginfo from struct emuldata for now, add int debugreg[8]
update comment a bit
2000-11-21 12:21:43 +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
erh
dad312de14 Provide some more useful information. 2000-11-17 03:40:25 +00:00
onoe
1e584c9cec Adopt the recent change to makesyscalls.sh (char * -> const char * const)
to make kdump compilable for arch without linux emulation.
2000-11-15 08:34:03 +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
7b1d98353d Linux LINUX_PTRACE_SINGLESTEP operation should have same
semantics as NetBSD's PT_STEP, so support it on archs which have it
under Linux, ptrace(PTRACE_CONT, pid, 0, 0) is used to continue the
traced process where it left off; adjust addr to (caddr_t) 1 so that
the NetBSD syscall code DTRT
some sligh const poisoning
2000-11-01 20:56:30 +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
fvdl
7f5724ad4c In the case of MAP_ANON, Linux mmap ignores the fd argument completely.
So, always pass -1 to the native syscall in that case, to avoid
errors if a Linux app doesn't specify -1 as the fd (which some do).
2000-09-07 22:20:45 +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