rjs
0046c56309
Add arm to #endif comment.
2002-01-17 15:10:26 +00:00
rjs
77f9569791
Add extra error codes from Linux.
2002-01-17 15:08:44 +00:00
bjh21
4a4d63e6c0
Regen.
2002-01-15 10:23:35 +00:00
bjh21
9f08648c7d
Shuffle uname calls around. It turns out we don't use the same names as
...
Linux does, so:
sys_olduname -> linux_sys_oldolduname
sys_uname -> linux_sys_olduname
sys_newuname -> linux_sys_uname
2002-01-15 10:21:46 +00:00
bjh21
2fdddc2550
Generated files for ARMLinux binary compatibility.
2002-01-14 23:17:16 +00:00
bjh21
23a5fe8d9b
Remove old ARMLinux binary compatibility fragment. As far as I know, this
...
was never used.
2002-01-14 23:15:58 +00:00
bjh21
6462506466
Crude first cut at ARMLinux binary compatibility. Successfully runs
...
"/emul/linux/bin/echo hello, world", dynamically linked.
2002-01-14 23:14:32 +00:00
augustss
fa18fdc168
Add some missing ioctl()s. From Tommy Bohlin in PR kern/14414.
2001-12-19 15:20:16 +00:00
chs
8e9cdbbd63
replace "vnode" and "vtext" with "file" and "exec" in uvmexp field names.
2001-12-09 03:07:43 +00:00
manu
482b5bcec3
Removed unused (commented out) code
2001-11-20 21:50:13 +00:00
manu
675946fd1c
Fixed the Linux signal trampoline and linux_sys_sigreturn(). Linux signal
...
delivery now seems fully functionnal.
2001-11-20 21:37:50 +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
lukem
dab6ef8b56
add RCSIDs (including regeneration of files as appropriate)
2001-11-13 02:07:52 +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
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
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
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
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
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
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
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
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
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
christos
934898bc32
Adjust to the new copyargs() footprint.
2001-07-29 21:28:45 +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
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
jdolecek
318fdc0c37
execute signal handlers on separate signal stack, if it's been provided
2001-07-15 20:02:21 +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
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
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
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
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
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
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
hannken
a343eba6d6
Close coment of CVS tag.
2001-06-08 09:24:28 +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
manu
8e9a35bbaa
Enable PowerPC Linux ptrace() emulation
2001-05-22 21:11:54 +00:00