Commit Graph

2113 Commits

Author SHA1 Message Date
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