summaryrefslogtreecommitdiffstats
path: root/sys/alpha/linux
Commit message (Collapse)AuthorAgeFilesLines
* Don't include sys/user.h merely for its side-effect of recursivelydas2004-11-271-1/+4
| | | | including other headers.
* Give setrunqueue() and sched_add() more of a clue as tojulian2004-09-011-1/+1
| | | | | | where they are coming from and what is expected from them. MFC after: 2 days
* Regenerate after fcntl() wrappers were marked MP safe.jhb2004-08-243-4/+4
|
* Fix the ABI wrappers to use kern_fcntl() rather than calling fcntl()jhb2004-08-241-1/+1
| | | | | | | | directly. This removes a few more users of the stackgap and also marks the syscalls using these wrappers MP safe where appropriate. Tested on: i386 with linux acroread5 Compiled on: i386, alpha LINT
* Add a new type, l_uintptr_t, which is an unsigned integer type with thetjr2004-08-161-0/+4
| | | | | same width as a pointer under Linux. Add two new macros, PTRIN and PTROUT, which convert between l_uintptr_t and native pointers.
* Do a pass over all modules in the kernel and make them return EOPNOTSUPPphk2004-07-151-0/+1
| | | | | | | | for unknown events. A number of modules return EINVAL in this instance, and I have left those alone for now and instead taught MOD_QUIESCE to accept this as "didn't do anything".
* Regenerate.jhb2004-06-043-4/+4
|
* Mark linux_wait4() as MP Safe as it is so and holding Giant across all ofjhb2004-06-041-1/+1
| | | | | | | kern_wait() trips an assert that Giant is not held in thread_wait(). PR: 67538 Submitted by: Nikos Ntarmos ntarmos at ceid dot upatras dot gr
* MFi386: Use the BSD madvise() syscall implementation for Linux binarybms2004-03-295-8/+3
| | | | | | emulation, instead of treating it as an unimplemented syscall. Requested by: marcel
* Regenerate.jhb2004-03-153-4/+4
|
* - Mark ABI syscalls that call wait4() MP safe as recent changes tojhb2004-03-151-1/+1
| | | | | | the kernel wait4() made these all panic() implementations otherwise. - The i386 linux_ptrace() syscall is MP safe. Alpha was already marked MP safe.
* Regen.jhb2004-02-043-5/+5
|
* The following compat syscalls are now mpsafe: linux_getrlimit(),jhb2004-02-041-2/+2
| | | | | | | linux_setrlimit(), linux_old_getrlimit(), osf1_getrlimit(), osf1_setrlimit(), svr4_sys_ulimit(), svr4_sys_setrlimit(), svr4_sys_getrlimit(), svr4_sys_setrlimit64(), svr4_sys_getrlimit64(), ibcs2_sysconf(), and ibcs2_ulimit().
* Locking for the per-process resource limits structure.jhb2004-02-041-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - struct plimit includes a mutex to protect a reference count. The plimit structure is treated similarly to struct ucred in that is is always copy on write, so having a reference to a structure is sufficient to read from it without needing a further lock. - The proc lock protects the p_limit pointer and must be held while reading limits from a process to keep the limit structure from changing out from under you while reading from it. - Various global limits that are ints are not protected by a lock since int writes are atomic on all the archs we support and thus a lock wouldn't buy us anything. - All accesses to individual resource limits from a process are abstracted behind a simple lim_rlimit(), lim_max(), and lim_cur() API that return either an rlimit, or the current or max individual limit of the specified resource from a process. - dosetrlimit() was renamed to kern_setrlimit() to match existing style of other similar syscall helper functions. - The alpha OSF/1 compat layer no longer calls getrlimit() and setrlimit() (it didn't used the stackgap when it should have) but uses lim_rlimit() and kern_setrlimit() instead. - The svr4 compat no longer uses the stackgap for resource limits calls, but uses lim_rlimit() and kern_setrlimit() instead. - The ibcs2 compat no longer uses the stackgap for resource limits. It also no longer uses the stackgap for accessing sysctl's for the ibcs2_sysconf() syscall but uses kernel_sysctl() instead. As a result, ibcs2_sysconf() no longer needs Giant. - The p_rlimit macro no longer exists. Submitted by: mtm (mostly, I only did a few cleanups and catchups) Tested on: i386 Compiled on: alpha, amd64
* GC unused 'syshide' override to /dev/null. This was here to disablepeter2003-12-241-1/+0
| | | | | the output of the namespc column. Its functionality was removed some time ago, but the overrides and the namespc column remained.
* Regen (should be a NOP except for rcsid changes)peter2003-12-233-3/+3
|
* GC unused namespace column. Unwrap some long lines that now fit.peter2003-12-231-433/+391
|
* Add an additional field to the elf brandinfo structure to supportpeter2003-12-231-2/+4
| | | | | quicker exec-time replacement of the elf interpreter on an emulation environment where an entire /compat/* tree isn't really warranted.
* Regen.jhb2003-11-073-55/+59
|
* Sync MP safe flags with global syscalls.master for the first time. Thisjhb2003-11-071-52/+52
| | | | | | | | | | | | | | | includes read(), write(), close(), setuid(), getuid(), linux_ptrace(), linux_kill(), setpgid(), dup(), pipe(), getgid(), osf1_sigprocmask(), umask(), getpgrp(), linux_setgroups(), linux_getgroups(), dup2(), setpriority(), osf1_sigreturn(), osf1_sigsuspend(), osf1_gettimeofday(), setreuid(), setregid(), setgid(), setsid(), osf1_sigaction(), getpgid(), linux_getsid(), osf1_sysinfo(), linux_clone(), mlock(), munlock(), mlockall(), munlockall(), sched_setparam(), sched_getparam(), linux_sched_setscheduler(), linux_sched_getscheduler(), linux_sched_get_priority_max(), linux_sched_get_priority_min(), setresuid(), getresuid(), linux_rt_sigaction(), linux_rt_sigprocmask(), linux_rt_sigsuspend(), gettimeofday(), linux_getitimer(), linux_setitimer(), getrusage(), setresgid(), getresgid().
* Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bitpeter2003-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | | systems where the data/stack/etc limits are too big for a 32 bit process. Move the 5 or so identical instances of ELF_RTLD_ADDR() into imgact_elf.c. Supply an ia32_fixlimits function. Export the clip/default values to sysctl under the compat.ia32 heirarchy. Have mmap(0, ...) respect the current p->p_limits[RLIMIT_DATA].rlim_max value rather than the sysctl tweakable variable. This allows mmap to place mappings at sensible locations when limits have been reduced. Have the imgact_elf.c ld-elf.so.1 placement algorithm use the same method as mmap(0, ...) now does. Note that we cannot remove all references to the sysctl tweakable maxdsiz etc variables because /etc/login.conf specifies a datasize of 'unlimited'. And that causes exec etc to fail since it can no longer find space to mmap things.
* Rename P_THREADED to P_SA. P_SA means a process is using schedulerdavidxu2003-06-151-1/+1
| | | | activations.
* Use __FBSDID().obrien2003-06-104-7/+11
|
* - Replace inline implementations of sigprocmask() with calls tojhb2003-04-221-9/+4
| | | | | | | kern_sigprocmask() in the various binary compatibility emulators. - Replace calls to sigsuspend(), sigaltstack(), sigaction(), and sigprocmask() that used the stackgap with calls to the corresponding kern_sig*() functions instead without using the stackgap.
* Synchronize the two linux_clone() implementations which includes a fewjhb2003-04-181-6/+3
| | | | minor cleanups in both.
* Fix printf args in debug printfs.jhb2003-04-161-5/+5
|
* Assume a struct thread *td instead of a struct proc *p in the debugjhb2003-04-161-2/+2
| | | | printf macros.
* Fix some debug macros. Either missing close parens or close parens in thejhb2003-04-161-4/+4
| | | | wrong place.
* Add missing includes from previous commit.jhb2003-03-271-0/+1
| | | | Reported by: des
* Add a cleanup function to destroy the osname_lock and call it on modulejhb2003-03-261-0/+1
| | | | | | | unload. Submitted by: gallatin Reported by: Martin Karlsson <mk-freebsd@bredband.net>
* Sync up linux and svr compat elf fixup functions for exec(). Thesejhb2003-03-211-10/+9
| | | | | | | | | functions are now all basically identical except that alpha linux uses Elf64 arguments and svr4 and i386 linux use Elf32. The fixups include changing the first argument to be a register_t ** to match the prototype for fixup functions, asserting that the process in the image_params struct is always curproc and removing unnecessary locking to read credentials as a result, and a few style fixes.
* Clean up whitespace and remove register keyword.des2003-03-031-1/+1
|
* More caddr_t removal, in conjunction with copy{in,out}(9) this time.des2003-03-031-3/+3
| | | | Also clean up some egregious casts and incorrect use of sizeof.
* Regen from syscalls.master 1.52.tjr2003-02-163-5/+11
|
* Mark linux_sigpending() as MPSAFE.tjr2003-02-161-1/+1
|
* Add IPv6 support for Linuxlator.ume2003-02-031-0/+1
| | | | | Reviewed by: dwmalone MFC after: 10 days
* - Add support for IPC_64 extensions into shmctl(2), semctl(2) and msgctl(2);sobomax2002-10-111-0/+133
| | | | | | | | | | | | | - add wrappers for mmap2(2) and ftruncate64(2) system calls; - don't spam console with printf's when VFAT_READDIR_BOTH ioctl(2) is invoked; - add support for SOUND_MIXER_READ_STEREODEVS ioctl(2); - make msgctl(IPC_STAT) and IPC_SET actually working by converting from BSD msqid_ds to Linux and vice versa; - properly return EINVAL if semget(2) is called with nsems being negative. Reviewed by: marcel Approved by: marcel Tested with: LSB runtime test
* MFi386: fork1 apparently takes 4 args nowgallatin2002-10-021-1/+1
| | | | Forgotten by: scottl
* It seems I accidently committed a change that removed the userland includespeter2002-09-171-2/+0
| | | | | | from the kernel build. This broke linux_genassym on the alpha. For the kernel, the correct place to get offsetof() is not in /usr/include/stddef.h but rather <sys/types.h>
* Completely redo thread states.julian2002-09-111-0/+1
| | | | Reviewed by: davidxu@freebsd.org
* Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections tojake2002-09-011-5/+13
| | | | | | sysentvec. Initialized all fields of all sysentvecs, which will allow them to be used instead of constants in more places. Provided stack fixup routines for emulations that previously used the default.
* Infrastructure tweaks to allow having both an Elf32 and an Elf64 executablepeter2002-07-201-4/+6
| | | | | | | | | | | | | | | handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me).
* Part 1 of KSE-IIIjulian2002-06-291-1/+0
| | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
* Fix typo in the BSD copyright: s/withough/without/schweikh2002-06-022-2/+2
| | | | | Spotted and suggested by: des MFC after: 3 weeks
* Remove __P(). This was tested on the GENERIC kernel.obrien2002-03-202-136/+136
|
* Bah, I managed to turn cosmetic things into real bugs. Fix shadowedpeter2002-02-081-3/+3
| | | | variable declarations. :-( Definately not my day today.
* Fix long line added in previous commit.peter2002-02-071-1/+3
|
* Pre-KSE/M3 commit.julian2002-02-072-3/+3
| | | | | | | | | | this is a low-functionality change that changes the kernel to access the main thread of a process via the linked list of threads rather than assuming that it is embedded in the process. It IS still embeded there but remove all teh code that assumes that in preparation for the next commit which will actually move it out. Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice,
* Regenerated file from previous commit to syscalls.mastergallatin2002-01-233-18/+6
|
* Linux/alpha uses the same BSDish return mechanism we do forgallatin2002-01-231-4/+4
| | | | | | | | getpid, getuid, getgid and pipe, since they bootstrapped from OSF/1 and never cleaned up. Switch to the native syscalls on alpha so that the above functions work MFC after: 7 days
OpenPOWER on IntegriCloud