summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common
AgeCommit message (Collapse)Author
2003-12-20Put back Emmanuel's sigfilter hooks, as decided by Core.fvdl
2003-12-20Introduce lwp_emuldata and the associated hooks. No hook is provided for themanu
exec case, as the emulation already has the ability to intercept that with the e_proc_exec hook. It is the responsability of the emulation to take appropriaye action about lwp_emuldata in e_proc_exec. Patch reviewed by Christos.
2003-12-05back the sigfilter emulation hook change offjdolecek
2003-12-04Dynamic sysctl.atatat
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically. Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function. All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference. PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
2003-12-03Add a sigfilter emulation hook. It is used at the beginning of kpsignal2()manu
so that a specific emulation has the oportunity to filter out some signals. if sigfilter returns 0, then no signal is sent by kpsignal2(). There is another place where signals can be generated: trapsignal. Since this function is already an emulation hook, no call to the sigfilter hook was introduced in trapsignal. This is needed to emulate the softsignal feature in COMPAT_DARWIN (signals sent as Mach exception messages)
2003-10-31adapt for changes to kern/exec_elf32.cdrochner
2003-10-27uninitialized variableschs
2003-10-25Fix uninitialized variable warningschristos
2003-09-26Fix "constify sendsig/trapsignal" fallout for non-siginfo'd archs. Testsimonb
compiled on most architectures.
2003-09-25constify sendsig/trapsignalchristos
2003-09-06SA_SIGINFO changeschristos
2003-08-24add support for non-executable mappings (where the hardware allows this)chs
and make the stack and heap non-executable by default. the changes fall into two basic catagories: - pmap and trap-handler changes. these are all MD: = alpha: we already track per-page execute permission with the (software) PG_EXEC bit, so just have the trap handler pay attention to it. = i386: use a new GDT segment for %cs for processes that have no executable mappings above a certain threshold (currently the bottom of the stack). track per-page execute permission with the last unused PTE bit. = powerpc/ibm4xx: just use the hardware exec bit. = powerpc/oea: we already track per-page exec bits, but the hardware only implements non-exec mappings at the segment level. so track the number of executable mappings in each segment and turn on the no-exec segment bit iff the count is 0. adjust the trap handler to deal. = sparc (sun4m): fix our use of the hardware protection bits. fix the trap handler to recognize text faults. = sparc64: split the existing unified TSB into data and instruction TSBs, and only load TTEs into the appropriate TSB(s) for the permissions. fix the trap handler to check for execute permission. = not yet implemented: amd64, hppa, sh5 - changes in all the emulations that put a signal trampoline on the stack. instead, we now put the trampoline into a uvm_aobj and map that into the process separately. originally from openbsd, adapted for netbsd by me.
2003-08-10add Linux compat arg wrapper for ftruncate64(), and change linux compatjdolecek
truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation Problem found and patch supplied in PR kern/22360 by Ales Krenek This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before.
2003-08-09fix linux_sys_p{read|write}() to actually call correct syscall afterjdolecek
arg massage, i.e. sys_p{read|write} as appropriate; up to now, the functions called sys_{read|write}() by mistake
2003-08-08- GC all the setup_stack functionschristos
- add one for linux/i386
2003-08-08Conditionally declare function that is not used all the time.christos
2003-08-07Move UCB-licensed code from 4-clause to 3-clause licence.agc
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-07-27More complete sendmsg(2) and recvmsg(2) emulation:jdolecek
* translate MSG_* flags * rewrite CMSG level/type to appropriate NetBSD value on input, and to Linux value on output * handle different CMSG_DATA alignment for some archs This fixes SCM_RIGHTS passing. Other SCM_* types are not supported - the set is different on NetBSD and Linux. SCM_TIMESTAMP doesn't seem to be actually implemented in Linux 2.5.15, so it's not supported for Linux binaries either (for now). PR: 21577 by Todd Vierling
2003-07-27add a cast appease gcc3.3mrg
2003-07-23make credentials work on the i386 by passing the original msg structure.christos
(from Todd Vierling)
2003-07-04Actually move the prototype of native_to_linux_sigaltstack here.enami
2003-07-03make the converter of sigaltstack public.christos
2003-06-29Back out the lwp/ktrace changes. They contained a lot of colateral damage,fvdl
and need to be examined and discussed more.
2003-06-29properly FILE_USE/FILE_UNUSE descriptor in linux_sys_fcntl()jdolecek
adresses PR kern/21628 by Wolfgang Solfrank
2003-06-29'struct proc *' -> 'struct lwp *' as required to get GENERIC for macppc builtdarrenr
2003-06-29Redo previous; struct proc *p is necessary if NSEQUENCER is non zero.enami
2003-06-28Kill unused variable.bouyer
2003-06-28Pass lwp pointers throughtout the kernel, as required, so that the lwpid candarrenr
be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed. Bump the kernel rev up to 1.6V
2003-06-23PR/21936: Todd Vierling: ioctl 'r' misinterpretedchristos
2003-06-23PR/21948: Todd Vierling: Implement MAP_TRYFIXED for linux emulation.christos
2003-06-23PR/21937: Todd Vierling: Proper support for mmap2christos
2003-06-23Add copyright+license.erh
2003-06-20PR/21936: Todd Vierling: compat/linux: ioctl 'r' misinterpretedchristos
2003-04-09Use PAGE_SIZE rather than NBPG.thorpej
2003-04-01Use PAGE_SIZE rather than NBPG.thorpej
2003-03-21Change 'data' argument to fo_ioctl and fo_fcntl from 'caddr_t' to 'void *'.dsl
Avoids a lot of casting and removes the need for some line breaks. Removed a load of (caddr_t) casts from calls to copyin/copyout as well. (approved by christos - he has a plan to remove caddr_t...)
2003-03-19Alternative pid/proc allocater, removes all searches associated with piddsl
lookup and allocation, and any dependency on NPROC or MAXUSERS. NO_PID changed to -1 (and renamed NO_PGID) to remove artificial limit on PID_MAX. As discussed on tech-kern.
2003-03-05Reimplement linux_sys_setresgid() in terms of do_setresgid()dsl
2003-03-05Use do_setresuid() to implement linux_sys_setresuid()dsl
2003-03-01Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair numberthorpej
of cycles off the syscall overhead. Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN, garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
2003-02-27make compat_linux struct file interlock friendly.yamt
2003-02-23Remember the allocated ptimer object so that it won't leak.enami
2003-02-19update emul alarm syscalls to recent timer changesjdolecek
problem encountered by Luke Mewburn for linux emul, problem spot found by Enami Tsugutomo
2003-01-19Merge the nathanw_sa branch.thorpej
2003-01-18LWPifyjdolecek
2003-01-18Merge the nathanw_sa branch.thorpej
2003-01-18Merge the nathanw_sa branch.thorpej
2003-01-06writable, not writeable.wiz
2002-12-22Use yield() for voluntary context switches.gmcgarry
2002-12-17Use the already-filled-in-but-not-used native syscall args insimonb
linux_sys_mknod().