Commit Graph

2430 Commits

Author SHA1 Message Date
jdolecek bf65eb50af add appropriate cast to debug printf 2001-11-18 13:29:29 +00:00
manu 86349adc0d Make it build again after recent MIPS cache code changes 2001-11-17 22:13:38 +00:00
manu cb5cba1cf3 Fixed typos 2001-11-17 20:49:14 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
tv 4dec0efa0b Preload <bsd.own.mk> before .undef DESTDIR. 2001-11-14 22:00:42 +00:00
tv 4446c00002 Undefine DESTDIR; we don't want the special DESTDIR <bsd.lib.mk>
handling for kernel libraries.

XXX this build method should be replaced by something more sane
2001-11-14 21:59:31 +00:00
lukem dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
atatat 23b1a14d0d compile in the absense of SYSVSHM and SYSVSEM. 2001-11-12 01:23:51 +00:00
christos 50a347501a compile in the absense of SYSVSHM and SYSVSEM. pointed out by @@@. 2001-11-11 21:21:02 +00:00
thorpej e8ee04475d - Add a new vnode flag VEXECMAP, which indicates that a vnode has
executable mappings.  Stop overloading VTEXT for this purpose (VTEXT
  also has another meaning).
- Rename vn_marktext() to vn_markexec(), and use it when executable
  mappings of a vnode are established.
- In places where we want to set VTEXT, set it in v_flag directly, rather
  than making a function call to do this (it no longer makes sense to
  use a function call, since we no longer overload VTEXT with VEXECMAP's
  meaning).

VEXECMAP suggested by Chuq Silvers.
2001-10-30 15:32:01 +00:00
christos 2a64b3cc60 use the copy of path stashed in pack->ep_emul_arg and free it.
also don't allocate the emul path, because it is causing a memory leak.
2001-10-28 04:47:27 +00:00
jdolecek 9f2548a603 Regen:
Hook in minherit(2), fhstatfs(2), fhopen(2), fhstat(2).
Adresses kern/8622 by Paul Shupak.
2001-10-27 10:02:57 +00:00
jdolecek 084e319b3f Hook in minherit(2), fhstatfs(2), fhopen(2), fhstat(2).
Adresses kern/8622 by Paul Shupak.
2001-10-27 10:00:55 +00:00
jdolecek dab7dee0f2 Add a comment regarding the ELFOSABI_FREEBSD thing,
and reformat the condition a bit to avoid nested if
2001-10-27 09:50:22 +00:00
christos 8101253d41 KNF. 2001-10-23 16:43:33 +00:00
christos 9c0bd73ac9 PR/14332: Shingo WATANABE: Regognize new ELFOSABI_FREEBSD branded executables. 2001-10-23 16:41:36 +00:00
manu 948a7fa8ef Fixed some mistakes in signal handling (this is still broken)
Added some code to set linux's uname kernel version to 2.4.0 (usefull for
testing with glibc-2.2). This is currently guarded by a #if 0.
2001-10-14 17:21:47 +00:00
manu abcf0c8406 Fixed a minor problem so that it builds 2001-10-14 17:15:58 +00:00
manu c4210f055f Added Mips 2001-10-14 17:14:07 +00:00
manu aa5da496fa Added socket operations to Linux Mips emulation 2001-10-06 13:32:58 +00:00
manu 2d38e85044 Implements ATOMIC_SET in linux_sys_sysmips 2001-10-06 13:32:18 +00:00
manu 801da94626 Implements parts of sysmips() and fctnl64() emulation 2001-09-30 20:52:40 +00:00
manu a9c8120ff3 Fixes my last commit: only mips really need fcntl64 to work now. i386 and
powerpc could use it later if needed. m68k and alpha should never need it.
2001-09-30 20:44:49 +00:00
martin 62aaf2691e Make i386 kernels compile again.
fcntl64 was still marked UNIMPL, but the implementation existed, causing
a missing prototype warning.
XXX I have no clue if this is the correct fix - someone able to test this
please review it!
2001-09-30 18:57:43 +00:00
manu 238328fb7a Added initial support for fcntl64 system call (file locking is not
implemented)
2001-09-30 16:04:03 +00:00
simonb 8aec0ac7d5 DEBUG kernels fill the registers with garbage on process startup and
Linux program don't like that.  Explicitly zero out the registers for
DEBUG kernels.
2001-09-30 02:36:42 +00:00
simonb 0b8f86120f Define LINUX_ATEXIT_SIGNATURE to enable the atexit_signature test; needed
to run Linux/Alpha binaries.
2001-09-30 02:35:23 +00:00
jdolecek d08f6c6e2e pull <sys/exec.h> to get setregs prototype.
problem noted by Chuck Silvers
2001-09-23 19:32:10 +00:00
manu c56e2ccc5d I'm working on Mips 2001-09-22 21:26:40 +00:00
manu 75e9ab7f5f Enabled Mips Linux emul in header files 2001-09-22 21:25:49 +00:00
manu e302bb5bc5 Enable Mips Linux emulation in header files 2001-09-22 21:24:16 +00:00
manu 40a2d61d92 Fixes for mips support 2001-09-22 21:22:57 +00:00
manu 63d1ca8449 Initial support for running Linux binaries on the Mips. Both static and
dynamic binaries work on 32 bit mips. Signals are completely broken yet,
and ptrace is not supported.
2001-09-22 21:19:10 +00:00
manu a0cca8f7f6 One file that was missing from a previous commit 2001-09-22 21:17:55 +00:00
manu 2207c50687 Fixed errors in header files 2001-09-22 21:15:18 +00:00
manu 84d266e55c More work on Linux compat for Mips: system calls mapping. 2001-09-22 21:14:37 +00:00
manu e7a3ba084e Empty framework for upcoming work on IRIX_COMPAT 2001-09-22 18:51:35 +00:00
thorpej bfaf142ff6 Add sunos32_setregs(), thus making sunos32 compile again. 2001-09-20 20:52:26 +00:00
thorpej 2708743345 Make this compile again. 2001-09-20 20:28:41 +00:00
thorpej e38a2e561a machine/fbio.h -> dev/sun/fbio.h 2001-09-19 18:10:32 +00:00
jdolecek ef8abe0767 Make the setregs hook emulation-specific, rather than executable
format specific.
Struct emul has a e_setregs hook back, which points to emulation-specific
setregs function. es_setregs of struct execsw now only points to
optional executable-specific setup function (this is only used for
ECOFF).
2001-09-18 19:36:32 +00:00
jdolecek 9edaceed67 g/c dead code 2001-09-17 17:47:47 +00:00
jdolecek 6b213f8761 remove superfluous cpu_exec_ecoff_setregs() prototype 2001-09-17 17:46:16 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
fvdl 2c344fe7d9 Allow the old-style sockaddr_in6 for v6 addresses for which the
scope id is irrelevant. Makes netscape6 for Linux work again,
which uses v4-mapped addresses to connect to v4 sites.
2001-09-08 14:19:09 +00:00
chuck 1c06d68731 only include opt_compat_43.h if _KERNEL_OPT defined so lkm compiles 2001-09-08 13:23:09 +00:00
manu 421be662fc Forgotten file in my last commit for removing PowerPC mmap hack in Linux
emulation
2001-09-08 07:13:04 +00:00
manu 6bbacb9d3f Removed a hack to make PowerPC mmap work. This could have side effects on
alpha and i386. It has been tested and works on i386.
2001-09-08 07:09:43 +00:00
wiz 08d1db8111 Fix typo in variable name. 2001-09-08 02:35:25 +00:00
jdolecek a065626465 change LINUX_F_SETFL so that SIGIO handling for sockets
matches more closely
add support for NEW_PIPE to the SIGIO hack
2001-09-04 20:27:29 +00:00
manu 11736debb0 Fixed indent 2001-09-03 21:10:56 +00:00
manu 27d1edf719 Added 64 bits support in header files.
All headers should be common to 32 bits MIPS and 64 bits MIPS now.
2001-09-02 08:39:37 +00:00
manu f914316a09 Fixed indent problems 2001-09-02 07:56:11 +00:00
manu 220d274aa6 Fixed indent problems 2001-09-02 07:27:33 +00:00
manu 54eff3d533 Added some comments 2001-09-02 07:25:58 +00:00
manu b9581b43a2 Fixed an error in a define 2001-09-02 07:24:49 +00:00
manu fbdc500a69 Fixed indent problems 2001-09-02 06:51:15 +00:00
chuck 31ae40ba15 confirmed the code for MID_VAX1K NMAGIC binaries was wrong,
you've got to pad the text just like with 4.3BSD binaries.
fix it.

i have now successfully tested compat-vax1k with real
o/m/z magic binaries from both 4.3BSD and netbsd 1.3.
2001-08-31 18:44:12 +00:00
manu 8e1033bfc3 Enable the GCC signature test so that ld.so will be executable (needed for
Linux's ldd)
2001-08-30 20:41:36 +00:00
manu 8537f76c98 Changed the way signature tests are done. This makes possible to run
ld.so as an executable on the PowerPC (Linux's ldd does this), and it also
much clearer IMHO.
2001-08-30 20:22:08 +00:00
chuck 1b6311c365 make 4.3 binaries run once again on the vax. tested with
omagic/nmagic/zmagic binaries from guest account on
Lord Isildur's tahoe system (thanks).   enabled if both
COMPAT_43 and COMPAT_VAX1K are defined.

basically rewrote exec_vax1k_prep_anymagic() to handle more
file formats.  we remove vax1k_subr.c because we now use the
standard vmcmd_readvn function.

XXX: suspect the code for MID_VAX1K NMAGIC binaries is wrong,
need a binary to confirm this...  the old code did not pad the
end of the text segment to a page boundary, and that seems wrong.
you definitely need to pad it on a 4.3BSD NMAGIC binary and i
don't see why MID_VAX1K should be different?
2001-08-29 03:43:53 +00:00
manu 6f08a31e06 Fixed a lot of mistakes in #define's (hes values instead of octal) 2001-08-26 21:17:52 +00:00
manu 6ae6d7c980 Preliminary work on Linux/Mips emul 2001-08-26 18:53:20 +00:00
manu abf3af624a Preliminary work on Linux/Mips emul. More to come soon... 2001-08-26 18:11:25 +00:00
manu 34e3550db4 Moved LINUX_NCCS from MI file to MD file, because the value is different
on MIPS and sparc machines.
2001-08-26 17:26:31 +00:00
manu 8d2d7fdf71 Fiexed a typo in a #define 2001-08-26 17:17:55 +00:00
manu 0e6de337a2 Preliminary work on Linux/mips compat, more to come soon... 2001-08-26 17:12:56 +00:00
manu d1fd72fba1 Fixed a typo in struct naming. This does not seems to impact anything. 2001-08-26 17:08:09 +00:00
manu 21f970e367 Preliminary work on Linux/Mips emulation, more to come soon... 2001-08-26 17:03:37 +00:00
manu 0f65ff9afc Preliminary work on Linux/mips compatibility, more to come soon... 2001-08-26 16:41:58 +00:00
manu de40f400dd Preliminary work on Linux/mips compatibility, more to come soon... 2001-08-26 16:33:01 +00:00
manu 6ca52a1743 Preliminary work on Linux/mips compatibility, more to come soon... 2001-08-26 16:21:56 +00:00
manu 0a50dcbab4 Preliminary work on Linux/mips compatibility. More to come soon... 2001-08-26 16:18:03 +00:00
manu fcf1fa0015 Preliminary work on Linux/mips compatibility, more to come soon... 2001-08-26 15:41:14 +00:00
manu e712414a48 Preliminary work on Linux/mips compatibility. More to come soon... 2001-08-26 15:38:44 +00:00
manu a410e315dd Preliminary work on Linux/mips compatibility. More to come soon... 2001-08-26 15:24:24 +00:00
manu b2ca6f9c3b Preliminary work for Linux/Mips compatibility, more to come soon. 2001-08-26 15:16:42 +00:00
mrg e63635fdcd update copyright notices. 2001-08-25 15:06:02 +00:00
wiz c52d355d71 "wierd" is weird. 2001-08-20 12:20:01 +00:00
eeh e31ca9e045 regen. 2001-08-15 05:27:29 +00:00
eeh 950d07bdf7 Use the netbsd32 version of anything that takes args. 2001-08-15 05:18:11 +00:00
eeh 16b1f7aae0 Fix bug in netbsd32_compat_43_olseek return value. 2001-08-15 05:16:59 +00:00
christos 699b00997c PR/13652: Katsuomi Hamajima: Fix compile error. 2001-08-08 13:23:34 +00:00
thorpej 08b77f43f0 Deal with the SSE FPU save format. 2001-08-02 22:04:57 +00:00
eeh 8180bfa441 Add missing `error'. 2001-07-30 22:04:08 +00:00
christos 934898bc32 Adjust to the new copyargs() footprint. 2001-07-29 21:28:45 +00:00
christos b474b9ac65 carry on the copyargs() and exit1() changes from kern_exec.c 2001-07-29 21:28:20 +00:00
christos 781411d393 adjust to the new copyargs footprint and cleanup debugging. 2001-07-29 21:26:07 +00:00
christos d5dfcf76de a bit more mach glue. 2001-07-29 19:30:56 +00:00
wiz 035b63a542 auxilliary -> auxiliary 2001-07-26 22:53:13 +00:00
jdolecek 718eee7811 make linux_socketcall_argsize[] static const 2001-07-22 13:55:23 +00:00
jdolecek 85fbcb3c05 return EMSGSIZE rather than ENOMEM if it would not be possible to
allocate space for accrights within stackgap
comment the copyin() of msg.msg_control in recvmsg() is safe
2001-07-22 13:46:51 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
thorpej e21d5026ef Add support for the __WALL wait4(2) flag. 2001-07-18 19:11:14 +00:00
thorpej cbf41a143a bzero -> memset 2001-07-18 16:43:09 +00:00
jdolecek 588b94c0a2 Expel MSG_COMPAT/COMPAT_OLDSOCK, make the COMPAT_43 wrappers
arrange things as needed.  Unfortunately, the check in sockargs()
have to stay, since 4.3BSD bind(2), connect(2) and sendto(2) were
not versioned at the time :(

This code was tested to pass regression tests.
2001-07-17 11:49:40 +00:00
jdolecek 318fdc0c37 execute signal handlers on separate signal stack, if it's been provided 2001-07-15 20:02:21 +00:00
christos 6f12096732 add a shell that does nothing for now for the mach syscalls. 2001-07-14 02:10:59 +00:00
christos 97c9d7a9dd rename elf32_read_from to exec_read_from since it is used in many places
now.
2001-07-14 02:05:05 +00:00
kim 1dc43ac2f2 Map OSS mixer device "line1" to native mixer device "aux". 2001-07-09 03:21:32 +00:00
jdolecek e24cc0f4c5 compat_43_sys_send(): wrap using sys_sendto() rathen than sendit()
compat_43_sys_recv(): wrap using sys_recvfrom() rathen than recvit()
2001-07-07 14:44:45 +00:00
jdolecek 17a1c4c337 Regen - modify to use linux_* wrappers for syscalls passing/fetching sockaddr 2001-07-04 10:26:28 +00:00
jdolecek 3ba502f406 modify to use linux_* wrappers for syscalls passing/fetching sockaddr 2001-07-04 10:25:32 +00:00
jdolecek 978d4eb77b remove no longer used variable
make 'osa' arg of linux_sa_get() const
2001-07-04 10:24:18 +00:00
jdolecek 8cbefdbb89 Do address family (AF_*) number translation for socket system calls which
pass socket address in our or out. This makes Linux programs using IPv6
working under emulation. This addresses kern/13279 by Jun-ichiro itojun Hagino.

Change sendmsg()/recvmsg() to expect the control information
to be passed the standard way (not 4.3BSD one, imlied by compat_43 code
or MSG_COMPAT). Linux uses different (arguably broken) CMSG_ALIGN() on some
architectures unfortunately, that would need to be handled eventually.

Also provide some other trivial stubs (like linux_sys_send()) to avoid
unneeded dependance on uipc_syscalls_43.c.
2001-07-04 10:09:24 +00:00
jdolecek adc0c5d8f3 Add myself to the list, put e-mail addresses within '<' and '>' 2001-07-01 17:13:41 +00:00
thorpej d0f766fb5c Regen; use the generic close(2). 2001-07-01 16:55:41 +00:00
thorpej ee8334823e No need to have a SVR4-32 specific close(2). 2001-07-01 16:55:19 +00:00
simonb e6f5e42d1b Regen; new syscalls. 2001-06-28 04:10:07 +00:00
simonb 9086d98157 Add some (unimplemented) syscalls from Tru64 Unix 5.1a. 2001-06-28 04:08:58 +00:00
dmcmahill 2beb554d4c regen after adding COMPAT_OSF1 getitimer(2). 2001-06-28 01:49:04 +00:00
dmcmahill e844f04e07 add COMPAT_OSF1 getitimer(2). Patch submitted by Kevin Schoedel
<schoedel@kw.igs.net> in PR port-alpha/13071, reviewed by Jason Thorpe.
2001-06-28 01:48:22 +00:00
jdolecek 26d45c1101 Back off the sendit()/recvit() change, some have problems with it 2001-06-25 20:46:11 +00:00
jdolecek 1b87473851 linux_getifhwaddr(): use strncmp() to find out if if_name starts with 'eth',
it's more readable that way
2001-06-25 19:55:02 +00:00
jdolecek 7f7c60e827 Add 'kernsa' parameter for sendit()/recvit(); if nonzero, msg->msg_name
is supposed to point directly to struct mbuf or struct sockaddr in kernel
space as appropriate, rather than being a pointer to memory in userland.

This is to be used by compat/* when emulation needs to wrap
send{to|msg}(2)/recv{from|msg}(2) and modify the passed struct
sockaddr.
2001-06-25 19:24:02 +00:00
dmcmahill 1880c09133 regen after adding flock. 2001-06-23 02:46:25 +00:00
dmcmahill b2ddb9701f Add entry for flock() syscall.
From the NetBSD and OSF man pages, the arguments and operation of the
2 flocks are identical.  The only differences are in some of the possible
values for errno which may be set in the event of certain errors.  These
differences are (again from the manual pages):

The NetBSD flock may set errno to

     [EOPNOTSUPP]  The argument fd refers to an object other than a file.

and the OSF flock doesn't list this is a possible error code.

The OSF flock may set errno to:

  [EINTR]   A signal interuppted the flock call.
  [ENOLCK]  The lock table is full.  Too many regions are already locked.
  [EDEADLK] The lock is blocked by some lock from another process.  Putting
            the calling process to sleep while waiting for that lock to
            become free would cause a deadlock.

while the NetBSD flock does not list these as possibilities.

The remainder of the possible error codes are the same.

commit cleared with thorpej first.
2001-06-23 02:45:54 +00:00
jdolecek 5f9c0daf71 linux_sys_socketcall(): refuse negative 'what' values 2001-06-22 08:27:05 +00:00
simonb 22267aa60b Include <sys/exec_elf.h> as the other arch's linux_exec.h file do.
New linux_trap.c compiles now.
2001-06-22 05:12:42 +00:00
fvdl fe75469d65 Some of this was sparc-specific, so ifdef __sparc__ it (XXX). Also,
change the alignment of one structure with an MD ifdef. Should
be moved into the netbsd32_machdep parts.
2001-06-19 00:36:21 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
sommerfeld 7e7d262c34 Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.
2001-06-17 21:01:32 +00:00
manu ff5ce5bd93 Removed obsoletes EMUL_NO_BSD_ASYNCIO_PIPE and EMUL_NO_SIGIO_ON_READ flags.
Async I/O OS specifities should now handled in OS specific code. Linux
has been done, but other emulation should be handled. See case LINUX_F_SETFL
in sys/compat/linux/common/linux_file.c:linux_sys_fcntl() for more details.

The data that has been collected yet:

                                  Net Free Open Linux SunOS AIX OSF1 Darwin
send SIGIO to write end of pipe     Y  N    N     N     N    N   Y     Y
send SIGIO to read end of pipe      Y  Y    N     N     N    ?   Y     ?
send SIGIO to write end of socket   Y  Y    Y     N     N    Y   Y     Y
send SIGIO to read end of socket    Y  Y    Y     Y     Y    ?   Y     ?
2001-06-16 22:05:36 +00:00
manu a7cdf998ec Removed obsoletes EMUL_NO_BSD_ASYNCIO_PIPE and EMUL_NO_SIGIO_ON_READ flags.
Async I/O OS specifities should now handled in OS specific code. Linux
has been done, but other emulation should be handled. See case LINUX_F_SETFL
in sys/compat/linux/common/linux_file.c:linux_sys_fcntl() for more details.

The data that has been collected yet:

                                  Net Free Open Linux SunOS AIX OSF1 Darwin
send SIGIO to write end of pipe		Y  N    N     N     N    N   Y     Y
send SIGIO to read end of pipe      Y  Y    N     N     N    ?   Y     ?
send SIGIO to write end of socket   Y  Y    Y     N     N    Y   Y     Y
send SIGIO to read end of socket    Y  Y    Y     Y     Y    ?   Y     ?
2001-06-16 21:44:27 +00:00
manu ce10f4da5b Linux does not send a SIGIO to the write end of a socket,
neither it does send any SIGIO for pipes. If async I/O
was requested, we keep the SS_ASYNC in struct socket flag
set, but we clear SB_ASYNC flags on the sending buffer
(for socket), and on the sending and the receiving buffer
(for pipes).

Because we do not alter to SS_ASYNC in struct socket,
the Linux process keeps a consistent view of async I/O
status if it attemps to read the async flag (SS_ASYNC)

This async I/O problem does matters, since some Linux
a programs such as the JDK request async I/O on pipes,
but they fail if they happen to get a SIGIO to the write
end of the pipe.
2001-06-16 21:32:51 +00:00
thorpej 7660fd850d In check_exec(), don't bother checking P_TRACED along with
MNT_NOSUID, just check MNT_NOSUID to clear the S{U,G}ID bits
in the attributes for the vnode we're about to exec.

We now check P_TRACED right before we would actually perform
the s{u,g}id function in the exec code.

This closes a race condition between exec of a setuid binary
and ptrace(2).
2001-06-15 17:24:19 +00:00
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
wiz b2e2ddf49e It's "extern int", not "extern".
Macppc kernels with LINUX_COMPAT now compile again.
2001-06-13 23:10:31 +00:00
wiz 3d343db054 #include <machine/fpu.h> for save_fpu()
#ifdef 0 two unused and un-prototyped functions.
Following a hint by Andrw Cagney on port-macppc.
2001-06-13 23:09:01 +00:00
mrg 0b7f4cf1ba avoid trigraphs 2001-06-08 12:50:11 +00:00
hannken a343eba6d6 Close coment of CVS tag. 2001-06-08 09:24:28 +00:00
mrg 25e7951011 proto for coredump32 2001-06-06 21:45:56 +00:00
mrg a6a28df3e2 add netbsd32_uvm_unix.c and netbsd32_kern_sig.c 2001-06-06 21:30:28 +00:00
mrg 06f624518c sync with uvm_unix.c 1.23 2001-06-06 21:30:07 +00:00
mrg 85794da2bd LKM friendly: move coredump32() here 2001-06-06 21:25:11 +00:00
mrg 5677baf886 LKM friendly: move uvm_coredump32() here 2001-06-06 21:24:39 +00:00
thorpej f149c43285 Regen; don't define our own (incorrect!) dup(2); just use the NetBSD version. 2001-06-06 16:18:10 +00:00
thorpej ea5fdab7bb Don't define our own (incorrect!) dup(2); just use the NetBSD version. 2001-06-06 16:17:40 +00:00
mrg c59b99f5c8 use _KERNEL_OPT, catch up with constification in compat/svr4. 2001-06-04 22:00:10 +00:00
mrg 46762d3560 fix lint exposed by GCC 3.0 20010604 (prerelease). 2001-06-04 20:56:51 +00:00
nathanw 4b2dbe7a1a Note that negative system call numbers no longer appear negative in
ktrace output, due to range-bounding by binary masking.
2001-06-04 20:06:41 +00:00
manu ae80f433ec Fixes by Chuck Silvers to make ptrace PEEKTEXT more 64 bit friendy 2001-06-04 07:44:39 +00:00
manu b5269c31d1 added a double cast to build on alpha 2001-06-03 18:22:27 +00:00
manu 4788337ddb Fixed a rough buf in ptrace SETFPREGS (was using regs instead of fpregs) 2001-06-02 13:49:44 +00:00
jdolecek 58467b0a9d Slighly improve the PTRACE_CONT comment 2001-06-02 11:46:09 +00:00
mrg 6a89288a37 use _KERNEL_OPT. 2001-05-30 11:37:21 +00:00
manu 36ea8f0ed5 Fixed a potential security problem (copyout after an error) 2001-05-28 10:51:20 +00:00
manu 7046b15b3d Fixed the return value of ptrace for PEEKTEXT and PEEKDATA: return value must
be a pointer to data, which holds the result. Linux's glibc undo this odd
operation to bring the standard ptrace behavior to userland.
2001-05-27 21:17:16 +00:00
manu befe23c119 Implements correctly PEEKUSER and fixes various serious bugs. The status
of this file is not "officially broken" any more (gdb works).
2001-05-27 21:15:07 +00:00
manu 383c1b6319 Fixed two typo in comments 2001-05-27 21:11:12 +00:00
kristerw 7ae7504033 Added a 'break' on the last line in a switch statement, since the ISO
C standard do not permit labels at the end of compound statements.
2001-05-24 10:49:31 +00:00
manu 8e9a35bbaa Enable PowerPC Linux ptrace() emulation 2001-05-22 21:11:54 +00:00
manu 9e29066532 Fixed ptrace() so that it is now possible to get traced process registers.
This makes Linux gdb able to run a Linux binary
2001-05-22 21:09:20 +00:00
manu 23e3fc1231 When c_ospeed in termio is null, NetBSD hangup the terminal. Since Linux
does not do this, we fake null c_ospeed values by -1 in the kernel, so
that NetBSD does not hangup.
2001-05-22 21:05:49 +00:00
manu 89047f2566 Added powerpc status in a comment 2001-05-20 09:29:10 +00:00
manu 05fe8173f8 Fixed a typo in a comment 2001-05-19 14:31:00 +00:00
jdolecek a20a67e39b regen (some unnecessary passthrough stubs eliminated) 2001-05-15 21:39:31 +00:00
jdolecek da5867c716 Eliminate passthrough syscalls stubs which only call appropriate sys_foo()
without any change.
Fixes kern/7270 by Bill Sommerfeld.
2001-05-15 21:37:47 +00:00
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