Commit Graph

841 Commits

Author SHA1 Message Date
christos
0a4f1c3d8f sync with current reality and fix debugging. 2002-03-22 18:39:23 +00:00
christos
65fc8539e4 gc debugging printfs. 2002-03-22 17:14:18 +00:00
christos
8b2467a1e9 nuke mmap2, cleanup mmap, add mprotect 2002-03-22 15:21:28 +00:00
christos
5681411206 regen 2002-03-22 15:19:53 +00:00
christos
b3c32e7e6d nuke mmap2, add mprotect 2002-03-22 15:19:43 +00:00
christos
99ff14c9f3 regen 2002-03-22 15:18:48 +00:00
christos
45af46eb53 add mprotect, nuke mmap2 2002-03-22 15:18:13 +00:00
christos
b9a0007d1d regen 2002-03-22 15:17:17 +00:00
christos
190ffecb97 add mprotect, nuke mmap2 2002-03-22 15:17:04 +00:00
christos
7359db6620 regen 2002-03-22 15:16:14 +00:00
christos
24e38ed8f3 nuke mmap2 add mprotect 2002-03-22 15:16:02 +00:00
christos
f7f4206314 regen. 2002-03-22 15:15:08 +00:00
christos
2b9a2aabe8 nuke mmap2, add mprotect 2002-03-22 15:14:55 +00:00
christos
92945f57fe regen 2002-03-22 15:11:23 +00:00
christos
22111899d0 1. make sure lines don't wrap
2. fix mmap and call it mmap like other ports do, not mmap2
3. implement fcntl64
4. implement mprotect because linux treats args slightly differently.
2002-03-22 15:10:38 +00:00
christos
b02cb6b16f implement the locking calls for linux_file64. 2002-03-22 14:54:49 +00:00
christos
3b57c6607c - obey FILE_USE and FILE_UNUSE
- don't assume that non sockets point to vnodes.
2002-03-22 14:53:26 +00:00
christos
d9ada7eabf Don't bitch if we don't have support for a particular arch. This makes it
easier to include this header from userland binaries [sysctl] on archs that
don't support compat-linux without incurring ifdef hell.
2002-03-21 13:23:48 +00:00
christos
50981e06bc emulation specific sysctls. Also change the kernel date to nov 11 as requested
by bad.
2002-03-20 00:27:58 +00:00
christos
bda4b15e05 - Now that RT-signals fit, fix the array to deliver them. [i386 only].
- jdk-1.4 works perfectly now. :-)
2002-03-19 20:51:59 +00:00
christos
381e6a7764 make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
2002-03-16 20:43:48 +00:00
pooka
28a03499e8 Replace unused padding in struct linux_stat64 by lst_ino64 as found in
linux's m68k struct stat64.

makes linux compat compile again
2002-03-16 14:49:29 +00:00
bjh21
a42e17ae9a __RCSID -> __KERNEL_RCSID 2002-03-10 15:47:43 +00:00
bjh21
64a051900d Id -> NetBSD in RCSID (oops). 2002-03-10 11:35:32 +00:00
christos
07a8b6bf28 proper statfs emulation... 2002-02-20 17:03:03 +00:00
christos
227c487828 allow writing of kernel.version, kernel.osrelease, kernel.ostype... I might
revert that l8r if I come up with something better.
2002-02-20 17:02:48 +00:00
is
728d5e960d fix some swapped parameters 2002-02-19 22:42:25 +00:00
nathanw
20d013dbed Regen. 2002-02-19 16:46:12 +00:00
nathanw
502ca4a24b Add linux_sys_{get,set}rlimit. 2002-02-19 16:44:09 +00:00
nathanw
cbc3e62bf0 Add LINUX_SA_NOCLDWAIT. 2002-02-19 16:35:59 +00:00
rafal
5af2ddd207 Add LINUX_SA_NOCLDWAIT, LINUX_SA_RESTORER, update LINUX_SA_ALLBITS. Linux
compat on mips builds again now.
2002-02-19 14:11:49 +00:00
christos
e52b5e4bfb Resolve alpha compile issues:
- bug with order in args in mask conversion md code.
- flags can be both int and long on the alpha. kludge around that, by not
  passing pointers to the conversion function.
- something is wrong with the toolchain look at the void * cast in copyout().
- sa_restorer is in a different place on the aplha. Deal with that, by not
  initializing it as before. XXX: this should be changed in the MD signal
  definition.
2002-02-18 22:24:17 +00:00
christos
1133f20b4f regen 2002-02-18 20:20:25 +00:00
christos
08739d68be provide linux_sys_getrlimit and linux_sys_setrlimit 2002-02-18 20:12:49 +00:00
jdolecek
2558157b0b Back off previous partially - make linux_release[] back 2.0.38
and linux_version[] "#0 Sun Apr 1 11:11:11 MET 2000";". Add a BIG
WARNING MESSAGE so that people won't break things changing this.
2002-02-18 18:51:51 +00:00
christos
6e293e79bd regen 2002-02-18 16:36:20 +00:00
christos
7f739a6187 fix comment. 2002-02-18 16:35:57 +00:00
rafal
0208af27ee Regen: Use linux_sys_{g,s}setrlimit, remove linux_sys_ugetrlimit since
linux/mips doesn't seem to have one.
2002-02-18 00:10:26 +00:00
rafal
9751855fab the MIPS stat64 struct doesn't have a separate ino64 field, but the ino field
is a u_longlong.
2002-02-17 23:57:57 +00:00
rafal
efdd3f2dd7 There is no linux_sys_ugetrlimit on mips, so don't try building it (XXX: adds
icky ifdefs)
2002-02-17 23:56:35 +00:00
rafal
dfcb814799 Use linux_sys_{g,s}etrlimit() since there's a common implementation now; but
MIPS has no sys_ugetrlimit, so don't declare it (209 is UNIMPL in the OSS
Linux-mips tree)
2002-02-17 23:55:23 +00:00
rafal
9f99fdabde Adapt for changes to linux_to_native_sigset() and native_to_linux_sigset(). 2002-02-17 23:18:38 +00:00
bjh21
db030aa93f Add an lst_ino64 member to struct linux_stat64. 2002-02-17 23:18:11 +00:00
bjh21
0fd75dd4e5 Adapt for changes to limux_old_extra_to_native_sigset() and
native_to_linux_old_extra_sigset().
2002-02-17 23:05:08 +00:00
bjh21
9e7faceaf4 Add LINUX_SA_NOCLDWAIT. 2002-02-17 22:45:29 +00:00
bjh21
d0dfca3108 Regen. 2002-02-17 22:30:22 +00:00
bjh21
e5087cd2b4 getrlimit and setrlimit now have Linux-specific implementations. Use them. 2002-02-17 22:29:46 +00:00
bjh21
6c9d7cafe8 linux_sys_break() is marked OBSOL, so don't include it. 2002-02-17 22:03:23 +00:00
bjh21
3113edfb9a linux_sys_rt_sigreturn is currently marked UNIMPL, so leave the stub out. 2002-02-17 22:00:09 +00:00
christos
6e89926d24 regen 2002-02-17 19:35:45 +00:00
christos
5a51f8945d fix rlimit confusion. 2002-02-17 19:35:30 +00:00
christos
09a9c8ea3d 1. load cr2 now that we have it.
2. ldt_info.base_addr == 0 && ldt_info.limit == 0 means zero the ldt
From Robert V. Barron's wabi patch.
2002-02-16 16:23:09 +00:00
christos
57c8cc95f1 s/printf/uprintf/ 2002-02-15 20:02:56 +00:00
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
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
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
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