summaryrefslogtreecommitdiffstats
path: root/sys/alpha/linux/linux_machdep.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove the Alpha specific linuxolator files.netchild2006-05-081-422/+0
|
* - Always call exec_free_args() in kern_execve() instead of doing it in alljhb2006-02-061-1/+0
| | | | | | the callers if the exec either succeeds or fails early. - Move the code to call exit1() if the exec fails after the vmspace is gone to the bottom of kern_execve() to cut down on some code duplication.
* Use LCONVPATHEXIST() rather than CHECKALTEXIST() and usejhb2005-02-181-9/+14
| | | | | | | exec_copyin_args(), kern_execve(), and exec_free_args() rather than execve() to eliminate stackgap use from Alpha's linux_execve(). Silence on: alpha@
* 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
* 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
* Use __FBSDID().obrien2003-06-101-2/+3
|
* - 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
|
* Fix some debug macros. Either missing close parens or close parens in thejhb2003-04-161-4/+4
| | | | wrong place.
* 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.
* MFi386: fork1 apparently takes 4 args nowgallatin2002-10-021-1/+1
| | | | Forgotten by: scottl
* Completely redo thread states.julian2002-09-111-0/+1
| | | | Reviewed by: davidxu@freebsd.org
* 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..
* 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-071-2/+2
| | | | | | | | | | 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,
* Merge part of revision 1.18 of sys/i386/linux/linux_machdep.c: don't usejhb2001-12-181-2/+0
| | | | RFTHREAD in linux_clone().
* minor commenting based on syscall environmentdillon2001-10-261-0/+6
|
* o Remove the linux_setpgid() stub.marcel2001-09-281-15/+0
| | | | | | o Stop using linux_getpgid(); use getpgid() instead. PR: kern/21402
* Make this compile again. I would have sworn that I did this already inpeter2001-09-201-39/+39
| | | | the KSE tree and thought it had been merged.
* Round of cleanups and enhancements. These include (in random order):marcel2001-09-081-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Introduce private types for use in linux syscalls for two reasons: 1. establish type independence for ease in porting and, 2. provide a visual queue as to which syscalls have proper prototypes to further cleanup the i386/alpha split. Linuxulator types are prefixed by 'l_'. void and char have not been "virtualized". o Provide dummy functions for all syscalls and remove dummy functions or implementations of truely obsolete syscalls. o Sanitize the shm*, sem* and msg* syscalls. o Make a first attempt to implement the linux_sysctl syscall. At this time it only returns one MIB (KERN_VERSION), but most importantly, it tells us when we need to add additional sysctls :-) o Bump the kenel version up to 2.4.2 (this is not the same as the KERN_VERSION MIB, BTW). o Implement new syscalls, of which most are specific to i386. Our syscall table is now up to date with Linux 2.4.2. Some highlights: - Implement the 32-bit uid_t and gid_t bases syscalls. - Implement a couple of 64-bit file size/offset bases syscalls. o Fix or improve numerous syscalls and prototypes. o Reduce style(9) violations while I'm here. Especially indentation inconsistencies within the same file are addressed. Re-indenting did not obfuscate actual changes to the extend that it could not be combined. NOTE: I spend some time testing these changes and found that if there were regressions, they were not caused by these changes AFAICT. It was observed that installing a RH 7.1 runtime environment did make matters worse. Hangs and/or reboots have been observed with and without these changes, so when it failed to make life better in cases it doesn't look like it made it worse.
* Undo part of the tangle of having sys/lock.h and sys/mutex.h included inmarkm2001-05-011-4/+5
| | | | | | | | | | | other "system" header files. Also help the deprecation of lockmgr.h by making it a sub-include of sys/lock.h and removing sys/lockmgr.h form kernel .c files. Sort sys/*.h includes where possible in affected files. OK'ed by: bde (with reservations)
* - Call fork1() directly instead of calling rfork() so that it doesn't maskjhb2001-03-111-9/+5
| | | | | | | | out RFSTOPPED. - Lock the child process when settings p_sigparent instead of locking the parent. Pointy-hat to: me
* Create clone'd linux processes as stopped processes at first and don'tjhb2001-03-061-2/+9
| | | | | actually make them runnable until after the emulator layer has had a chance to perform fixups.
* Allow debugging output to be controlled on a per-syscall granularity.jlemon2001-02-161-35/+45
| | | | | | Also clean up debugging output in a slightly more uniform fashion. The default behavior remains the same (all debugging output is turned on)
* Proc locking.jhb2001-01-241-1/+3
|
* Don't auto-generate the syscalls.marcel2000-12-031-1/+1
|
* Enable linux thread support on the alpha. The guts of linux_clone wasgallatin2000-11-101-1/+57
| | | | | | | | mainly cut-n-pasted from the i386 port, except for the method of setting the child's stack which is the only MD part of this function. I've tested with the example apps shipped with the linux threads source code (ex1-ex6) and with several binary builds of Mozilla.
* Need to include sys/proc.h.obrien2000-11-011-1/+2
|
* Apply style(9).obrien2000-10-231-48/+47
| | | | (best I could)
* Minimal set of diffs from the i386 bits to the AlphaLinux.obrien2000-09-071-406/+127
| | | | Submitted by: gallatin (content, minimization by me)
* When sigaltstack is called with a stack size that's not smallermarcel2000-09-061-1/+2
| | | | | | | than LINUX_MINSIGSTKSZ but smaller than MINSIGSTKSZ, cheat and pass MINSIGSTKSZ to the kernel. This is a workaround. Submitted through: nate
* Fix typo in license.marcel2000-08-251-1/+1
|
* Collect the MD syscalls from /sys/compat/linux here. Since thismarcel2000-08-221-0/+634
is a new file, fix most of the style bugs at the same time.
OpenPOWER on IntegriCloud