Commit Graph

2430 Commits

Author SHA1 Message Date
christos b03c54f812 regen 2002-02-15 16:50:58 +00:00
christos 3a4f78636f Regen 2002-02-15 16:50:35 +00:00
christos 51ea9c87e7 proper comment. 2002-02-15 16:50:13 +00:00
christos 28debea38a - add a real linux_sys___sysctl because the mib numbers are different.
implement only the kernel version getting entries.
- make the signal conversion functions consistent; dest is arg 1.
- make linux_fakedev deal with block and char devices differently.
- add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so
  that they work properly.
- add linux_mmap2 [untested].
- bump kernel to 2.4.18, and make the date be valentine's day :-)
- linux_sys_*stat64 family was totally busted. Fix it.

tested only on i386.

Status:
	gdb, telnet, work
	jdk-1.4.0 extractor works, jdk still coredumps.

christos
2002-02-15 16:47:58 +00:00
chs b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
manu 5ad92b8294 Fixed irix_blkcnt_t size (was 64 bit, changed to 32). This caused alignment
troubles in struct stat, hence giving wrong st_blocks, st_blksize and st_size
values.
2002-02-12 23:11:58 +00:00
manu bd184209e6 Correctly translate the st_rdev field in struct stat 2002-02-12 07:17:18 +00:00
tv aa7e03f796 Handle MAP_ANON (0x100 in Solaris8, not 0x1000) properly, by factoring out
the flags common to SVR4 and NetBSD, and mapping the rest manually.
2002-02-07 23:22:24 +00:00
manu b778bba3d3 Added system calls: getdents64/ngetdents64 2002-02-04 20:26:34 +00:00
manu 26aff33a7d Typo fix 2002-02-03 17:41:03 +00:00
manu 5c72031257 Added system calls: gettimeofday, getitimer, setitimer 2002-02-03 17:39:54 +00:00
manu 5b436803dd Removed the hack in mapelf to get libX11 loading. The new version assumes
that the load addresses in the section array are increasing, and that no
section in the array overlap with each other. IRIX proably makes the same
assumptions, but this has not been tested.

The key point with relocation is to always use the same offset for each
section. Because userland gets only the load address off the first section, it
has to assume that all the remaining sections kept the same offset with
respect to the first section. By using fixed offset instead of finding
some free space for each section, we can eliminate the libX11 load hack.
2002-02-03 17:28:19 +00:00
manu 98f3287e7d Added some system calls: gethostname, sethostname, getdomainname,
setdomainname, alarm
2002-02-03 01:21:47 +00:00
manu 4aa2e3fde7 Fixed the X11 load bug. dynamic linking now seems to be fully functionnal,
even for program with a DSO using overlapping load virtual addresses.

The fix is a mean hack, see the comments in irix_syssgi.c. It would be nice to
get uvm_map_findspace() to return the page we suggest instead of the page which
is 16384 bytes away.
2002-02-02 19:27:18 +00:00
bjh21 043db35f0a cpu_cache_syncI_rng -> cpu_icache_sync_range 2002-02-02 16:53:39 +00:00
bjh21 c738201135 We shouldn't need an icache sync when catching a signal, so don't bother. 2002-02-02 16:52:45 +00:00
bjh21 2667358f8e Get rid of "unused variable" warnings on arm26. 2002-02-02 16:30:28 +00:00
bjh21 70017578a1 Regen (breakpoint() implemented). 2002-01-27 15:28:22 +00:00
bjh21 8c36606f84 Add support for breakpoints to ARMLinux emulation. 2002-01-27 15:27:33 +00:00
bjh21 4929dc576f Add support for PTRACE_GETREGS and PTRACE_SETREGS in ARMLinux emulation. 2002-01-27 15:11:38 +00:00
bjh21 bf73a232ce Regen (prototype for linux_sys_nosys()). 2002-01-27 14:09:38 +00:00
bjh21 71953fb155 Make syscall 0 an explicit call of linux_sys_nosys, as it is on i386. This
is necessary to get a prototype for linux_sys_nosys generated in syscallargs.h.
2002-01-27 14:08:56 +00:00
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
manu cebd826075 more sysconf... 2001-12-08 19:29:03 +00:00
manu 4d54359755 Implemented irix_sys_xstat(). This duplicates some code already present
for svr4 compat, maybe these should be merged..
2001-12-08 18:08:04 +00:00
manu e3824c6c59 Added IRIX signal delivery 2001-12-08 11:17:37 +00:00
thorpej 205c159f0e Make the coredump routine exec-format/emulation specific. Split
out traditional NetBSD coredump routines into core_netbsd.c and
netbsd32_core.c (for COMPAT_NETBSD32).
2001-12-08 00:35:25 +00:00
manu 9dfecbefdb Fixed stack setup for argument passing. argc and **argv need to be aligned
on a 16 bytes boundary. To get things done, we currently duplicate a lot of
code from copyargs(), this should be done in a nicer way.
2001-12-04 22:13:41 +00:00
kent 97a959ad4a pecoff_copyargs(): Fix incorrect pointer type of the variable `ap'. 2001-12-03 06:11:33 +00:00
manu 3225f7c7c3 One more thread related command in prctl to make dynamic linking happy 2001-12-02 18:06:59 +00:00
manu 77fa6038d9 Added errno translation 2001-12-02 16:16:57 +00:00
manu ef711afc33 Added enough of prctl emulation so that program do not crash on exit 2001-12-02 09:23:58 +00:00
manu 427b57c20e Added SGI_USE_FP_BCOPY and SGI_TOSSTSAVE commands that are also needed
for dynamic linking
2001-12-02 09:22:39 +00:00
manu cfcac1c4fb Uses svr4_mmap for mmap32 emulation. This will not implement all the
IRIX functionnality, but it should be enough to get dynamic linking working
2001-12-02 08:47:17 +00:00
manu e2898fe96b Added a bit of sysmp() emulation necessary for dynamic linking. 2001-12-02 08:30:10 +00:00
jdolecek 2ff8a38d00 nuke the #include "opt_compat_irix.h", too 2001-12-02 00:46:03 +00:00
tsutsui 1011f9fbcc Don't define COMPAT_SUNOS here. It is defined in opt_compat_sunos.h
and <sys/ioctl.h> and <sys/tty.h> include it properly.

XXX Is this needed for LKM?
2001-12-02 00:35:25 +00:00
manu 0e18d4c1b0 Fixed a typo 2001-12-01 22:19:38 +00:00
manu 11ea5b82d7 Fixed a bug in vmcmdset reuse. IRIX binaries seems to pass syssgi(ELFMAP)
without crashing now.
2001-12-01 22:14:15 +00:00
manu cde20c2503 First implementation of syssgi(SGI_ELFMAP). 2001-11-30 21:56:03 +00:00
briggs 9a0fda91f4 SUNOS_M_NATIVE is now a macro that takes an arg, not a constant. 2001-11-29 18:53:50 +00:00
christos 8fc71f4259 include ioctl_compat.h unconditionally. 2001-11-28 13:46:06 +00:00
manu 2f3a7bf5f8 Need to include <sys/ioctl_compat.h> to build this with COMPAT_IRIX.
Maybe this is needed for COMPAT_SVR4 too, I'm not sure.
2001-11-28 12:02:59 +00:00
manu 7839e13a9c On IRIX, the first 88 system calls are quite plain SVR4, and the 137
remaining are IRIX specific. We know use SVR4 emulation for the first 88
system calls.
2001-11-28 12:00:53 +00:00
oki 3936fc4740 Fixed forgot map .idata section for some binaries. 2001-11-27 17:59:49 +00:00
manu 46f63b37c1 Removed an unused line 2001-11-26 21:44:53 +00:00
manu be8254f3a8 Added code to match IRIX N32 binaries 2001-11-26 21:36:24 +00:00
fredette 7eac246b74 Added support for running 68010 SunOS executables. 2001-11-26 18:15:16 +00:00
jdolecek bf7f67be85 if the LKM support is not compiled in, don't bother using exec_lock
at all, it's only needed in LKM case

use #if defined(LKM) || defined(_LKM) condition for netbsd32_execve.c,
to DTRT when either compiled statically into kernel with LKM support,
or compiled as a LKM
2001-11-23 22:02:39 +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
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