summaryrefslogtreecommitdiff
path: root/sys/compat/linux
AgeCommit message (Collapse)Author
2006-09-02comment out impossible codechristos
2006-09-02fix incomplete initializerchristos
2006-09-01When calling PTRACE from an LKM, use sysent[SYS_ptrace].sy_call in casematt
the sys_ptrace symbol isn't present.
2006-09-01Regen.matt
2006-09-01Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealtmatt
with differently.
2006-08-30Allow this to build as an LKM by testing for _KERNEL_OPT beforehe
including opt_ptrace.h.
2006-08-30Regenmatt
2006-08-30Update to deal with options PTRACEmatt
2006-08-24The return value for Linux shmat on amd64 does not suffer the same horriblemanu
hack as on i386.
2006-08-23move #ifdef up a few lines to prevent unused variable warning/errordogcow
2006-08-23Use VALID_R15_PSR() to check the context we're restoring inbjh21
linux_sys_sigreturn(). Somehow this got missed when I introduced that macro.
2006-08-231) Complete Linux exit_group() emulationmanu
Members of the thread group must die without reporting to the parent and without going to zombie stage. We do that by reparenting to init before catching a SIGKILL. The parent will not see the child death. The thread group leader must report the exit status, even if it exits because of another thread calling exit_group(). We do that by storing the exit status in struct linux_emuldata_shared, and the exit hook has the duty of setting struct proc's p_xstat for the thread group leader. 2) For exit/fork/exec hooks, move the NPTL specific code to separate functions that are shared between COMPAT_LINUX and COMPAT_LINUX32 3) Fix LINUX_CLONE_PARENT_SETTID semantics
2006-08-07Add a new signature test for linux probe function. We look for a .debuglinkmanu
section, which is specific to the Linux dynamic interpeter (yes, Linux can execute it as a stand alone program)
2006-07-24typomanu
2006-07-23Use the LWP cached credentials where sane.ad
2006-07-09If the user process requests a non null timeout, make sure we do not turnmanu
it into an infinite timeout because of a conversion
2006-06-27Use the new socket call for Linux and SVR4, because those systems (atpavel
least Linux 2.4.31, Irix 6.5.20 and Solaris 10) use EAFNOSUPPORT. Only the Linux emulation has been tested. XXX somebody should audit the other emulations...
2006-06-26version the socket(2) syscall. for compat30 socket, we usemrg
EPROTONOSUPPORT instead of EAFNOSUPPORT. from pavel@ with a little bit of clean up from myself. XXX: netbsd32 (and perhaps other emulations) should be able XXX: to call the standard socket calls for this i think, but XXX: revisit this at another time.
2006-06-26Do not implement exit_group() the right way on platforms that do notmanu
define LINUX_NPTL yet, that cause firefox-bin to fail.
2006-06-25Regenmanu
2006-06-25- Complete exit_group() implementation. We now maintain a list of Linuxmanu
threads in a processes and kill them properly. The code is a bit too complicated, but I could not find a simplier way of dealing with it - Change getpid() and getppid() semantics to match what Linux does, and implement gettid(). In the Linux kernel, threads are implemnted as plain old processes. A thread group is just a set of processes, with the parent called leader. Thread ID, which are returned by gettid(), are just the PID of the plain old processes, and getpid() returns the PID of the thread group leader. - Remove struct linux32_emuldata. COMPAT_LINUX32 uses a lot of COMPAT_LINUX code, where a struct linux_emuldata is assumed. By having distinct emuldata structure with different sizes and layouts, we caused kernel memory corruptions. - Fix setprioriry() and getpriority() Thanks to Nicolas Joly for tracking down the problem and providing me the hardware to fix them.
2006-06-13Regenerate after fixing the getpriority syscall definition.he
2006-06-13We need the argument structure for the getpriority syscall defined, sohe
change NOARGS to STD.
2006-06-13change 20 to NZERO; pointed out by mrg.christos
2006-06-12don't allocate a crapload of struct's on the stack. Use a couple of unionschristos
and use malloc for them.
2006-06-10PR/33671: Nicolas Joly: Add a getpriority syscall to account for the factchristos
that the linux getpriority is off by 20.
2006-06-10regenchristos
2006-06-10linux getpriority is off-by-20 so use our own function.christos
From PR/33671: Nicolas Joly
2006-06-07merge FreeBSD timecounters from branch simonb-timecounterskardel
- struct timeval time is gone time.tv_sec -> time_second - struct timeval mono_time is gone mono_time.tv_sec -> time_uptime - access to time via {get,}{micro,nano,bin}time() get* versions are fast but less precise - support NTP nanokernel implementation (NTP API 4) - further reading: Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html
2006-05-15include kauth.h for kauth_cred_getgid.yamt
2006-05-15include kauth.h for kauth_authorize_generic.yamt
2006-05-15include kauth.h for kauth_cred_geteuid, etc.yamt
2006-05-15include kauth.h for kauth_cred_getegid, etc.yamt
2006-05-15include kauth.h for kauth_cred_geteuid.yamt
2006-05-14integrate kauth.elad
2006-05-14XXX: GCC uninitializedchristos
2006-05-12use socklen_t when talking to the NetBSD side of thingsmrg
2006-05-11cleanup user.h.yamt
- remove several #include which are not directly related to this header anymore. tweak *.c accordingly. - update comments. - move some !_KERNEL #include to proc.h because it's more appropriate place these days. - whitespace.
2006-05-10don't allocate struct statvfs on stack as it's too large.yamt
while i'm here, remove some unnecessary casts.
2006-03-27Use __arraycount().dyoung
2006-03-17Fix Coverity issues 2321 and 2320. Make sure to free allocated memory.erh
2006-03-08Rework Linux sysctl()-emulation, so that on amd64, we return the samejonathan
Linux kernel-version as on i386 and ppc (currently 2.4.18), and a date in Feb 2002. On all other NetBSD platforms we return a Linux-kernel version of 2.0.38 and a date sometime in 2000, which (AFAIK) predates the existence of amd64, and therefore predates Linux support for amd64. To me, it makes much more sense to return the same Linux-kernel-version and date for both 32-bit x86 and 64-bit x86. Empirically (and not least), this change also allows SuSE 10 amd64 binaries to run under our Linux amd64 binary emulation (both static and dynamic-linked, given suitable setup) , which they didn't when we reported a Linux/x86_64 kernel version of 2.0.38.
2006-03-06Remove SET/CLR/ISSET definitions.thorpej
2006-03-01merge yamt-uio_vmspace branch.yamt
- use vmspace rather than proc or lwp where appropriate. the latter is more natural to specify an address space. (and less likely to be abused for random purposes.) - fix a swdmover race.
2006-02-16Change "inline" back to "__inline" in .h files -- C99 is still tooperry
new, and some apps compile things in C89 mode. C89 keywords stay. As per core@.
2006-02-15- Move the BSD to Linux and Linux to BSD termio/termios conversion functionsmanu
to a header where they can be shared between COMPAT_LINUX and COMPAT_LINUX32 - Add termios ioctl emulation to COMPAT_LINUX32 - Add the getcwd system call to COMPAT_LINUX32/amd64 That makes Linux's bash working with COMPAT_LINUX32.
2006-02-09make linux emulation compile on i386 again.dogcow
2006-02-09Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough somanu
that the i386 license manager part of amd64 version of Fluent works. While I'm here, add SysV IPC to COMPAT_LINUX/amd64
2006-01-31linux_sys_mremap: validate flags.yamt
2006-01-21implement compat_linux mremap.yamt