bjh21
3985634329
Regen (sys_nosys -> linux_sys_nosys).
2002-01-23 16:14:45 +00:00
bjh21
6add1ec812
sys_nosys="linux_sys_nosys", since that's how it should be.
2002-01-23 16:14:20 +00:00
bjh21
6b940e1484
Regen (cacheflush() and remove syscall 0).
2002-01-23 15:55:51 +00:00
bjh21
8b78e49ada
Syscall 0 isn't syscall() on ARMLinux. Mark it UNIMPL instead.
2002-01-23 15:54:34 +00:00
bjh21
8a3c27fbf7
Add support for the ARM-specific syscalls in ARMLinux. These are invoked
...
by SWI numbers above 0x9f0000, but we re-map them down to somewhere just
after the end of the usual syscall range, since NetBSD doesn't handle
sparse syscall arrays well.
The only syscall I've actually implemented in this range is cacheflush(),
which was previously being mapped to fork(), causing ... interesting results.
2002-01-23 15:52:58 +00:00
manu
5e54c68a88
Fixed a bug introduced in the previous fix to mapelf:
...
we used load_psection, then ran each vmcmd and tried to relocate the failing
ones. This fails if there is two vmcmd for one section, and the second is
not a mapping (for instance a map_pagedvn and a map_zero), because the first
one gets relocated, but not the second one.
Additionnaly, it was not necessary to update the userlevel psection array:
libc stubs seems to do the job themselves.
2002-01-21 21:51:31 +00:00
manu
ddd039179b
Fixes the problem with libX11.so mapping by syssgi(MAPELF): the load address
...
for the text section of libx11.so was overlapping with other ELF sections
aloready loaded, and this resulted into an ENOMEM error.
syssgi(MAPELF) uses elf32_load_psection() from syssrc/sys/kern/exec_subr.c
The problem was never experienced with load_psection() because it only has
to load one section, hence the requested address are not already allocated.
The fix is done when the initial mapping at the default address fails by
finding a free location in the VM space using uvm_map_findspace(), and then
retrying to load the section.
Other details:
- once the ELF section has been relocated, the ELF program header must be
updated with the new address and copied back to userland. For now we always
do it, maybe we could copy it only when it was modified.
- We are able to emulate the exact address where IRIX loads libX11.so instead
of the default location
2002-01-19 14:56:02 +00:00
bjh21
6ad60873c2
More-or-less working signal handling for Linux processes on ARM.
2002-01-17 22:50:38 +00:00
bjh21
72e7652233
Fix typo in last commit.
2002-01-17 21:19:22 +00:00
bjh21
934715db90
Fix unterminated #ifdef.
2002-01-17 21:17:57 +00:00
bjh21
16ee93eb67
On platforms that don't __HAVE_SYSCALL_INTERN, define LINUX_SYSCALL_FUNCTION
...
to be the value of emul_linux.e_syscall that we want. This allows it to differ
between machines, so I can have a separate linux_syscall() on arm.
2002-01-17 17:19:03 +00:00
rjs
01529df446
Include arch/arm/linux_errno.h for arm build.
2002-01-17 15:11:38 +00:00
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
manu
c8d430d60d
missing include
2002-01-07 23:12:30 +00:00
manu
0b98511d4a
Added code to match and launch n32 binaries (there is no N32 support in the
...
kernel yet)
2002-01-07 22:05:03 +00:00
manu
3b176652b8
Fixed wrong file name.
2002-01-06 21:43:10 +00:00
manu
365eb49355
Added compat/irix/irix_syscallnames.c
2002-01-06 21:34:30 +00:00
mrg
9191aacdb4
regen
2002-01-03 15:30:08 +00:00
mrg
5d231c5624
ooops, socket() and socketpair() need args now.
2002-01-03 15:28:43 +00:00
mrg
fa38881ffa
fix error in previous; pointed out by andrew brown.
2002-01-03 15:28:13 +00:00
mrg
3f49c27162
clean up
2002-01-03 06:43:23 +00:00
mrg
5d06ed3c94
move sparc specific ioctl handling (fb & openprom) into arch/sparc64.
2002-01-03 02:29:39 +00:00
mrg
af640de164
move the COMPAT_SUNOS SO_BROADCAST hack out of uipc_socket.c into the
...
compat/sunos code. besides being cleaner this allows the sunos LKM
to properly work without any special kernel hacks.
2002-01-03 00:59:00 +00:00
manu
daf979dbeb
Added symlink, rename and readlink
2001-12-27 11:07:23 +00:00
manu
a965f74abe
getpgid implemented
2001-12-27 09:31:09 +00:00
manu
2faf78e180
Reworked irix_syssgi_mapelf. It now uses elf_load_psection, and this
...
remove the odd bug which caused INSANE_DEBUG_IRIX to be mandatory in
order to avoid a panic when mapping libraries.
2001-12-26 22:18:25 +00:00
manu
945d746288
integrated a copy of svr4_waitsys(), which should be merged later.
...
This has not been fully tested, but it makes IRIX's /bin/sh able to survive
running an external command such as ls.
2001-12-26 11:04:20 +00:00
manu
aeeecdfad1
Updated copyright (getdents code is from Christos, written in 1994)
2001-12-26 10:54:56 +00:00
manu
9423df444f
Added accept, bind, connect, getpeername, getsockname, listen, recv, recvfrom,
...
recvmsg, select, send, sendmsg, sendto, setsockopt, shutdown, socket, readv,
and writev. IRIX's telnet now works.
2001-12-25 21:32:30 +00:00
manu
ae9b01a907
Added getcontext/setcontext. This has not been fully tested, but it seems to
...
work enough for binaries that use it (eg: telnet).
Problems:
- what should we do with uc_filler?
- how to handle FP regs?
2001-12-25 19:04:18 +00:00
manu
0d7961013d
Added irix_sys_lseek64()
2001-12-25 16:40:48 +00:00
mycroft
cbfac6596e
Make SNDCTL_DSP_POST a nop. It's explicitly *not* supposed to sleep, and as
...
it's merely advisory (and in fact is implemented as a nop in the OSS->ALSA
shim), it should be safe to ignore it.
2001-12-24 00:10:46 +00:00
manu
e398957bea
more UNIMPL IRIX system calls in the table...
2001-12-23 20:57:30 +00:00
manu
b8f46be2f6
Added getdents/ngetdents.
2001-12-23 20:15:03 +00:00
manu
aa8fce41ef
implemented enough of getmountid to make commands using IRIX Universal Name
...
Service happy. Code in libc attempts to open files in the ns filesystem, and
then uses getmountid on failure to ensure that the ns filesystem is really
mounted. We don't emulate the ns filesystem yet, but getmountid now correctly
reports that ns is not present.
Note: It seems that the mountid of the ns filesystem should always be
00000005 00000000 00000000 7fff3000
2001-12-22 14:43:43 +00:00
manu
cc381b2d11
implemented fxstat and lxstat. Fixed a bug in xstat (ino_t was wrong)
2001-12-22 12:09:20 +00:00
manu
7b2952c16e
More TrustedIRIX stuff (not emulated, but we don't return EINVAL anymore)
2001-12-22 09:35:11 +00:00
augustss
fa18fdc168
Add some missing ioctl()s. From Tommy Bohlin in PR kern/14414.
2001-12-19 15:20:16 +00:00
elric
0260906a88
Fixed compiler warnings that would occur if DEBUG_MACH was not defined.
2001-12-18 19:43:24 +00:00
tv
8e6f7afb5b
MKfoo=no -> NOfoo
2001-12-12 01:48:43 +00:00
thorpej
7767121514
I can't win today -- make this link.
2001-12-10 04:05:23 +00:00
thorpej
06920aef28
Move the code that walks the process's VM map during a coredump
...
into uvm_coredump_walkmap(), and use callbacks into the coredump
routine to do something with each section.
2001-12-10 01:52:26 +00:00
thorpej
d0e51ba7da
Fix compilation problems.
2001-12-09 23:08:34 +00:00
chs
8e9cdbbd63
replace "vnode" and "vtext" with "file" and "exec" in uvmexp field names.
2001-12-09 03:07:43 +00:00