Commit Graph

2122 Commits

Author SHA1 Message Date
manu
56839426da This file is not used on alpha, and it causes some warning that break the
build. Added an ifdef to ignore the file content for alpha (not tested)
2001-05-15 20:35:02 +00:00
lukem
37aedd067b delint: fix comments 2001-05-15 15:20:29 +00:00
manu
d473f5bd8a Improved the accuracy of gettimeofday/settimeofday: Linux stores a srtuct
timezone in the kernel. We now keep track of it for emulated processes.
Tested for powerpc and i386. Untested on m68k, but it should be ok
Alpha has a particular implementation (osf1_sys_gettimeofday), and it has
therefore not been touched.
2001-05-13 20:54:42 +00:00
kleink
045d2b0272 Make this build again. 2001-05-11 19:19:44 +00:00
augustss
f63784bfbe Improved fix of PR12796, from Frederick Bruckman <fb@enteract.com> 2001-05-10 01:54:30 +00:00
augustss
5c9ba155e3 Apply patch in PR lib/12796 from Frederick Bruckman <fb@enteract.com> 2001-05-09 21:49:58 +00:00
manu
7e6929fe90 Changed EMUL_BSD_ASYNCIO_PIPE to EMUL_NO_BSD_ASYNCIO_PIPE, so that
the native emulation (NetBSD) does not have a flag.
2001-05-07 09:55:12 +00:00
manu
5a6b8191b5 Added two flags to emulation packages:
EMUL_BSD_ASYNCIO_PIPE notes that the emulated binaries expect the original
BSD pipe behavior for asynchronous I/O, which is to fire SIGIO on read() and
write(). OSes without this flag do not expect any SIGIO to be fired on
read() and write() for pipes, even when async I/O was requested. As far as
we know, the OSes that need EMUL_BSD_ASYNCIO_PIPE are NetBSD, OSF/1 and
Darwin.

EMUL_NO_SIGIO_ON_READ notes that the emulated binaries that requested
asynchrnous I/O expect the reader process to be notified by a SIGIO, but
not the writer process. OSes without this flag expect the reader and the
writer to be notified when some data has arrived or when some data have been
read. As far as we know, the OSes that need EMUL_NO_SIGIO_ON_READ are Linux
and SunOS.
2001-05-06 19:09:52 +00:00
ross
6b9d94cd8c Fix overflow errors in brk(2). 2001-05-06 04:32:08 +00:00
matt
eae1312a70 Use NULL instead of an explicit cast. 2001-05-03 05:30:35 +00:00
ross
2df695b1e4 o IEEE 754 floating-point completion code.
o Implement the architected FP_C "Floating Point Control Quadword"
2001-04-26 03:10:44 +00:00
manu
bc237413cb Fixed an error in a comment 2001-04-12 19:32:35 +00:00
manu
bb1594b20b Integrated security review for signal delivery by Wolfgang Solfrank 2001-04-11 19:41:02 +00:00
eeh
511e0204b1 Update to conform to new interface. 2001-04-10 18:57:49 +00:00
kleink
0e1ec27466 Regen. 2001-04-10 11:12:12 +00:00
kleink
7b62f6ff28 Slight indentation nit. 2001-04-10 11:11:17 +00:00
jdolecek
b6d1d4db02 Change the first arg to fileops fo_stat routine to struct file *, adjust
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.
2001-04-09 10:22:00 +00:00
jdolecek
c1dca7fa03 also use fops fo_stat for osf1_sys_fstat2() 2001-04-09 10:08:51 +00:00
jdolecek
3fc6fc58e6 Call file descriptor stat function via (*fp->f_ops->fo_stat) instead
of a switch statement and explicit call.
Sprinkle some FILE_USE()/FILE_UNUSE() as appropriate.
2001-04-09 09:39:09 +00:00
ross
2d8e2c19d6 Fix soo_stat() calls for the new parameter, even if the direct call is
now obsolete, so that kernels will at least compile. I guess it was too
much trouble to change all 10 call sites, or perhaps, these days, only
things that build on i386 are important. Maybe it's the full moon tonight.
2001-04-08 08:01:36 +00:00
jdolecek
bb8ceadfcc Adapt to struct fileops, soo_stat() changes.
Pointed out by Bernd Ernesti in private mail.
2001-04-07 17:37:09 +00:00
tsutsui
aff5787b5b Regen from aoutm68k/syscalls.master rev 1.5:
> Allow enabling/disabling /emul/aout alternate path search
> on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:28:55 +00:00
tsutsui
0286ef8bba Allow enabling/disabling /emul/aout alternate path search
on COMPAT_AOUT_M68K environment by options COMPAT_AOUT_ALTPATH.
2001-04-07 12:25:15 +00:00
jdolecek
16b1272b3f Add new 'stat' fileop and call the stat function via f_ops rather
than directly.
For compat syscalls, also add necessary FILE_USE()/FILE_UNUSE().
Now that soo_stat() gets a proc arg, pass it on to usrreq function.
2001-04-07 09:00:57 +00:00
ross
3bbe93edd6 new syscalls 2001-04-04 19:52:18 +00:00
ross
cf6a3cc49d prototypes and comments 2001-04-04 19:41:00 +00:00
jdolecek
9f531a91bb regen - use linux_sys_nosys() instead sys_nosys() 2001-03-30 18:33:22 +00:00
jdolecek
bbe1ee69af Use linux_sys_nosys() instead sys_nosys() here too. 2001-03-30 18:31:28 +00:00
jdolecek
02281ec1f5 regen 2001-03-30 18:02:28 +00:00
jdolecek
c51fe2a452 use UNIMPL instead of NODEF for the dummy syscalls 218, 219 2001-03-30 18:01:20 +00:00
jdolecek
36a42f0ce8 Add new syscalls from Linux 2.4.3 to the lists. Not implemented ATM. 2001-03-30 17:59:46 +00:00
jdolecek
e07a93ab5a regen 2001-03-30 17:18:47 +00:00
jdolecek
890850dddf Implement linux_sys_nosys() and use it instead of sys_nosys() for
unimplemented syscalls. Difference is that linux_sys_nosys() doesn't
post SIGSYS to the process. Linux doesn't do that and thus glibc (and
probably other Linux code) doesn't deal with SIGSYS, even through it
generally contains fallback code for ENOSYS case.

This also addresses port-i386/12503, though the issue was already discussed
earlier.
2001-03-30 17:16:33 +00:00
toddpw
8b733f7126 Our INCSDIR has been pruned from distrib/sets, so don't make it any more. 2001-03-30 12:42:30 +00:00
fvdl
879b34ea8c Don't do the ioctl call for the get hw addr case, all the work has
been done already.
2001-03-29 10:37:37 +00:00
jdolecek
569cf4b764 Use parent's vmspace in linux_e_proc_fork() hook, the child does not
have vmspace setup yet. This fixes lossage discussed on current-users,
thread "hard lockups with -current and Netscape", and should fix
kern/12433 by <kawamoto@tenjin.org>, maybe also kern/12455.

XXX Threads forked via linux_sys_clone() should share the brk value
XXX if they share vmspace. This needs to be implemented.
2001-03-24 11:13:04 +00:00
manu
ea545137cc Added a missing native to linux signal number translation in linux_sendsig(),
when building the trap frape
2001-03-22 22:10:04 +00:00
itojun
c35e5ed1b2 do not dereference p_vmspace, if it is not initialized yet (NULL). 2001-03-22 08:26:14 +00:00
manu
bfaa81d0e1 Fixed typos in comments 2001-03-18 11:31:44 +00:00
manu
802ed4d55c Removed an unused oldbrk variable in linux_sys_brk() 2001-03-16 07:46:57 +00:00
mrg
85b0b4096f s/rv/error/ in a uprintf(). (rv isn't defined.) 2001-03-16 04:05:15 +00:00
manu
27a41174dd Made linux_sys_brk() cleaner (no functionnality change) 2001-03-15 23:23:26 +00:00
manu
1208df7bdf Fixed brk() emulation. We now keep track of the processes' idea of the
break value. See http://mail-index.netbsd.org/tech-kern/2001/03/15/0000.html
for more details.
2001-03-15 19:18:20 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
mrg
f1a8e2ab5f be more verbose about failed vmcmds. 2001-03-04 13:42:32 +00:00
eeh
e330ffed34 Remove conflicts with changes made to COMPAT_SVR4. 2001-02-28 15:58:35 +00:00
eeh
a72ee87980 Add support for 64-bit SVR4 (Solaris 8) binaries. 2001-02-21 23:53:00 +00:00
jdolecek
522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
eeh
82deda03bf Fixup compile problems. 2001-02-19 19:49:35 +00:00
eeh
800c3c476d Use svr4_ttold.c since it has no LP64 issues. 2001-02-19 15:48:59 +00:00
mrg
bc003b5676 use svr4_32 ttold ioctl types. 2001-02-18 00:27:20 +00:00
eeh
8a4a682091 Support flexible process address space limits and bump kernel version number. 2001-02-14 18:21:42 +00:00
manu
ad16681a92 Clarified comments about the LINUX_SCERR_SIGN macro 2001-02-12 21:25:08 +00:00
fvdl
6b7a7448f5 Cast 32bit sunos_nfs_arg member to (char *)(long) to avoid warning
after sunos.h change (cast is safe; a SunOS binary will pas a 32 bit
pointer).
2001-02-12 19:49:20 +00:00
manu
16bc5b4004 Moved the fix for negative errno returned to userland on the PowerPC to a
more machine independent fashion
2001-02-11 20:24:49 +00:00
eeh
fb46d1eed4 Export bits needed by COMPAT_SVR4_32. 2001-02-11 01:16:42 +00:00
eeh
c2a7dae9d2 Fix getuid() and getgid() to work like the Solaris ones. 2001-02-11 01:14:25 +00:00
eeh
7fd4c88055 Fix getuid() and getgid() calls to return both e[ug]id and r[ug]id. 2001-02-11 01:13:01 +00:00
eeh
82ca5fba5b Fixes to get dynamic binaries working. 2001-02-11 01:10:24 +00:00
eeh
a562e38910 Don't play fast and loose with pointers. 2001-02-11 00:00:29 +00:00
mrg
da9e4bd3a1 split up netbsd32_netbsd.c into 9 new files, leaving only those syscalls that
have no special interpretations besides simple syscall args conversion.
2001-02-08 13:19:33 +00:00
mrg
477f3d1140 header is struct netbsd32_exec 2001-02-08 12:32:41 +00:00
mrg
e927957b42 move the static inline conversion functions into a header file so other
files can see these.  note a bunch of functions that should be moved
into their own files.
2001-02-07 15:22:39 +00:00
mrg
7217f71af3 compat_12_netbsd32_{,fl}stat12() were not copyout()ing the converted result. 2001-02-07 13:15:54 +00:00
mrg
c1b372c5ca fix the glaring errors in compat_13_netbsd32_sigaltstack13 2001-02-07 13:14:07 +00:00
mrg
7a908a5f44 compat_sunos needs netbsd32_compat_09.c 2001-02-07 13:13:01 +00:00
mrg
098da9d296 use the standard alt check for creat. 2001-02-07 01:34:21 +00:00
eeh
4380259bc7 Specify a process' address space limits for uvmspace_exec(). 2001-02-06 17:01:51 +00:00
eeh
967cc758a6 Add 32-bit svr4 emulation (for 64-bit machines). 2001-02-06 16:37:56 +00:00
mrg
d0f57eaf28 regen 2001-02-06 15:42:34 +00:00
mrg
bb4dfb96a8 oops, use netbsd32_select(). 2001-02-06 15:41:53 +00:00
mrg
79c2fcd3b2 add from NetBSD Id. 2001-02-06 15:39:38 +00:00
mrg
5cd04bbafa use struct sunos32_dirent. now getwd() works. 2001-02-06 13:13:42 +00:00
mrg
04534d365c stat/lstat must use netbsd32_stat43 not stat43. 2001-02-06 10:32:34 +00:00
manu
82b165a23b Modified a cast so that it builds again 2001-02-05 19:44:32 +00:00
mrg
8507daffe2 regen 2001-02-05 12:48:33 +00:00
mrg
f973f47b9c s/sunos_sendsig/sunos32_sendsig/ 2001-02-05 12:48:13 +00:00
mrg
2bdf90f148 use sunos32_sys_sigreturn 2001-02-05 12:46:19 +00:00
chs
09cb38f22b expose the definitions of MIN() and MAX() in sys/param.h to the kernel
and use those in favor of a dozen copies scattered around the source tree.
2001-02-05 10:42:40 +00:00
mrg
8e76e697d7 fix the glaring errors in emulations for osendmsg, orecvmsg, osigvec and osigstack. 2001-02-05 06:32:55 +00:00
mrg
973fe837ab s/long/netbsd32_long/ in various places. call netbsd32_fcntl, not sys_fcntl. 2001-02-05 06:28:55 +00:00
mrg
07df067e6c make sunos32_sys_stime() & sunos32_sys_sigvec() work. 2001-02-05 06:27:57 +00:00
itojun
30b4221720 make it compile on alpha. cast pointer to u_long, not int 2001-02-05 04:33:41 +00:00
jmc
ece49e13a9 Back out last change. m68k.h is now in cpu.h (which got updated in between
my noticing this problem here on a sun3).
2001-02-04 23:53:31 +00:00
christos
ff4eeac9d3 cosmetic fixes. 2001-02-04 22:59:26 +00:00
mrg
2343525d2b we don't #include ../sunos/sunos_ioctl.c anymore...sigh 2001-02-04 15:38:17 +00:00
manu
0bf34ec725 Fixed a bug in Linux/powerpc ktrace support (it's still broken, anyway) 2001-02-04 14:24:38 +00:00
mrg
9e0d8392a4 clean up sunos32_sys_mmap(), modelling it more like netbsd32_mmap() 2001-02-04 11:06:14 +00:00
jmc
5a272e431a Add m68k/m68k.h to pickup fputype definitions. 2001-02-04 10:16:43 +00:00
mrg
b4e92dfd81 regen 2001-02-04 09:48:43 +00:00
mrg
b352fc1de2 s/long/netbsd32_long/ in sunos32_sys_mmap(). noted by chuq. 2001-02-04 09:47:22 +00:00
mrg
32fdb6e321 change_utimes32() was copyin()ing a struct timeval, not netbsd32_timeval.
general clean up.
2001-02-04 09:00:14 +00:00
mrg
a531aa1597 emulate kern.boottime. now 32-bit w(1) works properly. 2001-02-04 07:08:51 +00:00
mrg
2aa001b546 make sysctl vm.loadavg work. 2001-02-04 06:35:07 +00:00
mrg
bd15b74ffc add missing !LKM check, noted by <tih@kpnQwest.no> 2001-02-03 22:20:02 +00:00
ross
69e20722b9 Emulate LINUX_TCFLSH with our TIOCFLUSH. Do some CSE. 2001-02-03 19:01:29 +00:00
mrg
ef777aa80b sync a comment from sys_execve().
make netbsd32_recvfrom() work.
2001-02-03 12:46:55 +00:00
mrg
dabf2a8634 s/sizeof(struct exec)/sizeof(struct netbsd32_exec)/ when calculating file offsets. now sunos32 nmagic/omagic work. 2001-02-03 12:45:44 +00:00
fvdl
92bf89da0b Oops, remove debugging printf. 2001-02-03 01:23:08 +00:00
fvdl
3d66a69335 For the read subchannel ioctl, don't mix up the data and address formats,
and always set the track to 0, like Linux does.
2001-02-03 01:17:38 +00:00
jdolecek
c48d420625 emul_find(): actually, the emulation root vnode dance has to be done for
CHECK_ALT_SYMLINK() same way as for CHECK_ALT_EXISTS()
This fixes lossage reported on current-users and kern/12019 by Ross Harvey.
2001-02-02 21:17:45 +00:00
mrg
0b2b6b074d add netbsd32 & sunos32 to the (commented) SUBDIR line. 2001-02-02 13:08:04 +00:00
mrg
eefaef162b properly implement compat_43_netbsd32_stat43, compat_43_netbsd32_lstat43
and compat_43_netbsd32_fstat43.  now 32-bit ls(1) works.  so does static
sunos `/sbin/sh' on sparc64.
2001-02-02 13:06:48 +00:00
mrg
87cc07b7c9 implement netbsd32_lchflags & netbsd32_utrace 2001-02-02 13:05:18 +00:00
mrg
674f1689f6 regen 2001-02-02 13:03:39 +00:00
mrg
b0f29c9c95 add lchflags, issetugid, utrace, reserves for [gs]etcontext, and sched/SA. 2001-02-02 13:01:44 +00:00
mrg
2110531265 implement stat & fstat properly. 2001-02-02 13:00:29 +00:00
mrg
bdec681975 sunos_ioctl.c is included by sunos32_ioctl.c. include the sunos32 &
netbsd32 headers if we are in sunos32 mode.
2001-02-02 12:59:43 +00:00
mrg
2f62d51a64 generate. 2001-02-02 07:29:42 +00:00
mrg
3fbaadb80d initial support for sunos binaries running on a 64 bit sparc64 kernel.
some programs work, many do not yet.
2001-02-02 07:28:54 +00:00
mrg
b67bcac710 don't build these files if we're doing compat_netbsd32 as well.
a different set are required.
2001-02-02 07:12:27 +00:00
mrg
157a31d7a1 make this useful when compiled on sparc64: two members in sunos_nfs_args
become typedefs.
2001-02-02 07:11:09 +00:00
mrg
e4c34bc9e5 de-static netbsd32_exec_aout_prep_[zno]magic().
de-static netbsd32_from_stat43().
move the guts of netbsd32_execve() into netbsd32_execve2().

all of are for the forthcoming sunos32 compat mode (for sparc64).
2001-02-02 07:08:17 +00:00
thorpej
95a72e42de egen; getpid(2) is MP-safe. 2001-01-27 08:02:10 +00:00
thorpej
00d798f276 getpid(2) is MP-safe. 2001-01-27 07:59:58 +00:00
thorpej
b54650a0bc Regen; getpid(2) is MP-safe. 2001-01-27 07:58:37 +00:00
thorpej
e00fb66e89 getpid(2) is MP-safe. 2001-01-27 07:58:22 +00:00
thorpej
cf30c31b4d Regen; getpid(2) is MP-safe. 2001-01-27 07:56:54 +00:00
thorpej
bca5b90ff2 getpid(2) is MP-safe. 2001-01-27 07:56:30 +00:00
thorpej
e385ddef5e Regen; getpid(2) is MP-safe. 2001-01-27 07:55:44 +00:00
thorpej
f979b01e55 getpid(2) is MP-safe. 2001-01-27 07:55:23 +00:00
thorpej
c1bdc2ed00 Regen; getpid(2) is MP-safe. 2001-01-27 07:54:43 +00:00
thorpej
3853970b15 getpid(2) is MP-safe. 2001-01-27 07:54:24 +00:00
thorpej
3c55fd337f Regen; getpid(2) is MP-safe. 2001-01-27 07:53:27 +00:00
thorpej
f3e8131498 getpid(2) is MP-safe. 2001-01-27 07:53:10 +00:00
thorpej
987590c661 Regen; getpid(2) is MP-safe. 2001-01-27 07:52:20 +00:00
thorpej
4f58e50fa7 getpid(2) is MP-safe. 2001-01-27 07:51:22 +00:00
thorpej
c69905cee8 Regen; getpid(2) is MP-safe. 2001-01-27 07:50:34 +00:00
thorpej
ac878f7a8c getpid(2) is MP-safe. 2001-01-27 07:50:11 +00:00
thorpej
1b6a66420e Regen; add sy_flags. 2001-01-27 07:23:06 +00:00
manu
de8918d969 Moved include <sys/ioctl.h> so that we can build without WSCONS enabled. 2001-01-26 19:41:52 +00:00
manu
86651a757f Fixed wrong signal handler argument setup. The emulated sigcontext still has some problems. 2001-01-25 19:36:53 +00:00
jdolecek
1b91de887e use CHECK_ALT_SYMLINK() for lstat(2)
don't call stackgap_init() for pwrite(2) and pread(2), it's not necessary
2001-01-22 21:31:37 +00:00
jdolecek
13ca559d39 Use CHECK_ALT_SYMLINK() instead CHECK_ALT_EXISTS() where appropriate.
This addresses kern/11757.
2001-01-22 20:08:03 +00:00
jdolecek
2fcd02eea0 Introduce CHECK_ALT_SYMLINK() - this checks for alternative location without
following links, hence is usable for checking of presence of a symlink.
Also slighly cleanup EXISTS and CREAT cases - use symbolic constants
instead of 0/1.
This is needed for emulation of readlink(2), lchown(2) and similar.
Addresses kern/11757.
2001-01-22 19:50:56 +00:00
manu
9c111b5a93 Fixed wrong open() Linux flags definition (octal instead of hexadecimal) 2001-01-21 22:19:26 +00:00
manu
167ec91e4b Fix the "created from" field of files generated from syscalls.master (this
master file did not have a RCS Id at generation time, hence the problem)
2001-01-20 19:03:01 +00:00
manu
0d6749fdd9 Fixed wrong ioctl definitions that caused Linux ioctl TCGETS and many other to
fail
2001-01-20 18:59:55 +00:00
manu
fe95c9c3de Moved architecure dependent part of struct linux_termio to architecture
dependent header files.
2001-01-20 18:56:41 +00:00
manu
94785018b1 Fixed a typo 2001-01-20 10:36:05 +00:00
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
d5329fdce7 Cosmetic fix to move powerpc from "guesses" to "know values" 2001-01-19 12:35:47 +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
083ffa3b67 Added support for powerpc Linux compatibility 2001-01-19 01:44:46 +00:00
manu
ac10cf6946 Added a linux_atexit_signature to match Linux statically linked ELF binaries. It
searches for a __libc_atexit ELF section, which is specific to Linux
2001-01-19 01:43:31 +00:00
manu
cac0b39302 Added Linux compatibility support for powerpc ports 2001-01-19 01:40:38 +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
thorpej
009d2d725c Grok __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN. 2001-01-15 21:33:52 +00:00
oki
880b841888 Add support to mmap .bss section.
Use vmcmd_map_pagedvn if possible.
2001-01-15 17:05:32 +00:00
fvdl
07ca2a03bf Correct copyright year. 2001-01-10 02:33:47 +00:00
fvdl
8c4bd70cda Add linux_blkio.c 2001-01-10 02:29:29 +00:00
fvdl
d772be168f Declare linux_ioctl_blkio and call it from the main routine. 2001-01-10 02:28:38 +00:00
fvdl
da9e8a988d Add some BLK* ioctl calls. Currently only the easy and useful ones
are implemented.
2001-01-10 02:28:01 +00:00
fvdl
c99aee0084 Add emulation of KIOCSOUND. 2001-01-09 13:01:03 +00:00
simonb
f514e805ed Move prototypes for mips_user_cachectl() and mips_user_cacheflush()
to <mips/cachectl.h>.
2001-01-07 04:13:16 +00:00
fvdl
3950869204 Set Linux version to 2.0.38 for now, until the clone + "real time signal"
problems are fixed.
2001-01-05 15:31:15 +00:00
fvdl
bcac62574c Implement KDGETMODE ioctl. 2000-12-29 22:06:58 +00:00
fvdl
2d53941bd4 Hardcode what the linux uname() calls return (Linux 2.2.5 is the current
value). A few major applications check for this (like VMware), and
there is no other way to trick them. Needs a more generic solution
eventually.
2000-12-29 21:07:16 +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
f90b2fc517 Avoid sign extension problem in offset. 2000-12-29 20:08:54 +00:00
fvdl
77765cf28f Do alternate path checks for link(2). 2000-12-29 20:08:31 +00:00
fvdl
6f552a029f Allow the EJUSTRETURN hack for PTIOCLINUX-passed through ioctl calls. 2000-12-29 20:07:53 +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
jdolecek
1e46d6c702 use NetBSD utrace(2) facilities for FreeBSD utrace(2) emulation;
use id 'FreeBSD utrace'
2000-12-28 11:18:01 +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
fvdl
62af6738b1 Use CHECK_ALT_* for chown and lchown, missed in my previous commit.
Get *id16 calls right; most can be passed through directly, but
some need the 16->32 check for -1 values.
2000-12-27 22:01:42 +00:00
jdolecek
c6a69abc26 adapt to recent changes of signal structures 2000-12-27 21:58:52 +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
fvdl
e60e785474 Don't do the syscall with modified ioctl command if we've successfully
done a 'passthrough' ioctl.
2000-12-22 23:41:16 +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
fvdl
1a09a359eb Add SIOCGIFBR and SIOCSIFBR (more for reference than anything, currently). 2000-12-22 11:24:43 +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
thorpej
f7a4dd48fd Only include the 16-bit uid/gid stuff if on i386 or m68k. This is a
little ugly, but hey, so is Linux.
2000-12-21 20:19:22 +00:00
thorpej
e57273c82e Only include the 16-bit chown/fchown/lchown stuff if on i386 or m68k.
This is a little ugly, but hey, so is Linux.
2000-12-21 20:15:53 +00:00
jdolecek
0d8b0305c5 don't define SYSVMSG if it's already defined 2000-12-21 19:30:26 +00:00
fvdl
b542c20c5b Fix yet another typo. 2000-12-21 13:37:02 +00:00
fvdl
b76b718303 Fix another pasto. 2000-12-19 22:24:03 +00:00
jdolecek
2db538c869 separate the freebsd syscall code similarily to other emulations 2000-12-18 20:38:27 +00:00
fvdl
b7ffc98bf8 Fix pasto in previous. 2000-12-18 16:27:20 +00:00
mrg
272c549ab2 copy exec_aout.c:exec_aout_setup_stack to netbsd32_exec_aout_setup_stack,
but use USRSTACK32 not USRSTACK, so that we get 32-bit stack addresses.

now 32 bit a.out binaries work on sparc64.
2000-12-18 14:50:04 +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
865e7b1375 Pass SIOC* calls that are done on devices (not sockets) through
without trying to interpret done, as is done on Linux. The device
will get them as PTIOCLINUX, with command and arg in the structure
passed in.
2000-12-18 14:46:36 +00:00
fvdl
8578d458e5 Define LINUX_SIOCDEVPRIVATE (currently not emulated for sockets). 2000-12-18 14:44:44 +00:00
fvdl
4d193ccde8 Add seperate entries for 16 bit uid/gid calls, so that border cases
like 0xffff can be handled better (not done yet).
2000-12-18 14:40:02 +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
f66ae436e9 make compilable without KTRACE, too 2000-12-18 08:53:39 +00:00
jdolecek
29fd738f28 make LKM safe 2000-12-17 16:15:54 +00:00
jdolecek
cec7e3ceca regen 2000-12-17 16:14:40 +00:00
jdolecek
b436e7bba3 add emulation of FreeBSD utrace(2) 2000-12-17 16:11:38 +00:00
jdolecek
df68499f38 make LKM safe 2000-12-17 15:55:47 +00:00
scw
7fb03460dc Sprinkle some register prefixes in the asm() statements. 2000-12-16 22:59:32 +00:00
jdolecek
72014988d6 adapt to recent struct emul changes 2000-12-16 13:30:08 +00:00
mycroft
b29180b2ff Tighten up the ELF signature checks, and actually look for the ABI tag added
in newer glibc versions.
2000-12-15 06:14:21 +00:00
simonb
6ec588df0d Correctly order the contents of the emul_hpux struct so this compiles. 2000-12-14 22:55:36 +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
augustss
ccf2c891cc Implement sysinfo. 2000-12-13 21:41:23 +00:00
itohy
3e9f9f8abf sync with i386, so that exec_conf.c compiles again 2000-12-13 03:49:51 +00:00
mycroft
108d17eb16 Do the md_syscall, __HAVE_MINIMAL_EMUL and __HAVE_SYSCALL_INTERN thangs. 2000-12-13 03:16:36 +00:00
mycroft
165574c579 Regen. 2000-12-13 01:29:35 +00:00
mycroft
c87c56ee90 Round up sysent[] table size. 2000-12-13 01:29:16 +00:00
jdolecek
638d27777e add linux_sys_truncate64() 2000-12-12 22:24:56 +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
jdolecek
f8d1770316 define EXEC_AOUT (if not defined) before including linux_syscallargs.h,
to get linux_sys_uselib() prototype
2000-12-12 17:52:56 +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
455360f941 Do the __HAVE_SYSCALL_INTERN and __HAVE_MINIMAL_EMUL dance. 2000-12-12 08:00:26 +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
mycroft
f0689d5505 Regen. 2000-12-11 03:07:06 +00:00
mycroft
23babc12e5 Round up sysent table size. 2000-12-11 03:06:49 +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