summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Update for AMD64 (repocopied from i386/sys/Ovfork.S - why is it O?)peter2003-04-301-5/+4
| | | | | Depend on %rsi being preserved across the "syscall"-style syscall and strip out the PIC stuff (this cpu has full PC-relative addressing, at last!)
* Update for AMD64 contexts. Note that this still has some x87-style FPUpeter2003-04-303-105/+112
| | | | | instructions here, these may need to be updated for SSE. (Repocopied from i386/gen)
* Reduce the SRCS to what compilespeter2003-04-301-3/+3
|
* Update for AMD64 (repocopied from i386/net). We can depend on havingpeter2003-04-304-10/+6
| | | | | the bswap instruction (yay!). Update for register parameter passing instead of i386 style stack based param passing.
* Update for AMD64-style syscalls. Repocopied from i386/SYS.h.peter2003-04-301-7/+4
| | | | | | | | | | Note that the syscall instruction clobbers %rcx, which is inconvenient because it is the fourth syscall argument, so we use %r10 (another scratch register) for the 4th syscall arg instead (I picked %r10 to be the same as NetBSD). int 0x80 is still possible though, and it uses %rcx as usual. Note that the syscall style syscall does *NOT* preserve all the registers, unlike int 0x80. We do not preserve the scratch registers except for %rdi and %rsi. int 0x80 does preserve everything but the return values.
* Only define platform once -- in a C file.obrien2003-04-302-20/+23
|
* Floating point libc functions traditionally written in ASM.obrien2003-04-302-0/+113
| | | | | | | AMD64 does away with the x87 in 64-bit long mode, so we have to play the SSE/SSE2 game now. Obtained from: NetBSD/x86-64
* Symlink with -f.obrien2003-04-302-2/+2
|
* No libc_r for AMD64.obrien2003-04-301-0/+2
|
* Move the mailbox to the beginning of the thread and align thedeischen2003-04-3010-14/+48
| | | | thread so that the context (SSE FPU state) is also aligned.
* Backout my changes in rev. 1.32 and 1.33. There is some code that dependsmtm2003-04-301-4/+2
| | | | | | | on the previous behaviour. This also brings strptime(3) behaviour back in line with the other BSDs. Approved by: markm (mentor)
* Fixed alignment.ru2003-04-301-1/+1
|
* Call kse_wakeup_mutli() after remove current thread from RUNQ to avoiddavidxu2003-04-302-2/+2
| | | | doing unnecessary idle kse wakeup.
* Call kse_wakeup_multi() to wakeup idle KSEs when there are threads readydavidxu2003-04-302-0/+2
| | | | to run.
* Make sure rhostip is always initialized.des2003-04-301-1/+1
| | | | | PR: bin/51508 Submitted by: Peter Grimshaw <peter@tesseract.demon.co.uk>
* Treat an empty PAM_RHOST the same as a NULL one.des2003-04-304-5/+5
| | | | PR: bin/51508
* Set $HOME to the correct directory (within the chroot tree).des2003-04-301-0/+1
|
* `Hide' strlcpy and strlcat (using the namespace.h / __weak_referencenectar2003-04-2920-51/+71
| | | | | | | technique) so that we don't wind up calling into an application's version if the application defines them. Inspired by: qpopper's interfering and buggy version of strlcpy
* Jump to the correct label upon detecting an error.deischen2003-04-291-2/+2
|
* Create the thread signal lock as a KSE lock (as opposed todeischen2003-04-296-44/+46
| | | | | | | | | | | | a thread lock). Better protect access to thread state while searching for threads to handle a signal. Better protect access to process pending signals while processing a thread in sigwait(). Submitted by: davidxu
* Document VM86_INTCALL.mdodd2003-04-291-4/+35
| | | | Submitted by: Bruce M Simpson
* o Don't add a scope system thread's KSE to the list of availabledeischen2003-04-2835-316/+640
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KSEs when it's thread exits; allow the GC handler to do that. o Make spinlock/spinlock critical regions. The following were submitted by davidxu o Alow thr_switch() to take a null mailbox argument. o Better protect cancellation checks. o Don't set KSE specific data when creating new KSEs; rely on the first upcall of the KSE to set it. o Add the ability to set the maximum concurrency level and do this automatically. We should have a way to enable/disable this with some sort of tunable because some applications may not want this to be the default. o Hold the scheduling lock across thread switch calls. o If scheduling of a thread fails, make sure to remove it from the list of active threads. o Better protect accesses to a joining threads when the target thread is exited and detached. o Remove some macro definitions that are now provided by <sys/kse.h>. o Don't leave the library in threaded mode if creation of the initial KSE fails. o Wakeup idle KSEs when there are threads ready to run. o Maintain the number of threads active in the priority queue.
* Use the correct link entry for walking the list of threads.deischen2003-04-282-18/+4
| | | | | | | | While I'm here, use the TAILQ_FOREACH macro instead of a more manual method which was inherited from libc_r (so we could remove elements from the list which isn't needed for libpthread). Submitted by: Kazuaki Oda <kaakun@highway.ne.jp>
* Replace the return value of rfork_thread(3) in its manual pagerobert2003-04-271-1/+1
| | | | | function prototype with `pid_t' to match the declaration in <unistd.h>.
* Correct the return value of vfork(2) and rfork(2) in theirrobert2003-04-272-2/+2
| | | | manual page function prototypes.
* Add vmemoryuse to the list.trhodes2003-04-261-0/+1
| | | | | PR: 50796 Submitted by: Dmitry Sivachenko <mitya@cavia.pp.ru>
* Add sys/user.h to the list of includes. Without it you lack a definition oftrhodes2003-04-261-0/+1
| | | | | | 'struct kinfo_proc' for calls to kvm_getargv() and kvm_getenvv(). PR: 51322
* Add some strategic whitespace.rwatson2003-04-261-0/+1
|
* When using `compat' mode, be sure to re-dispatch setpwent, endpwent,nectar2003-04-252-0/+58
| | | | | | | | | | setgrent, and endgrent also. (The previous NSS implementation used to simply twiddle the internal data of the various modules directly.) A symptom (group list set incorrectly in sshd) was Reported by: Glenn Johnson <gjohnson@srrc.ars.usda.gov> Sponsored by: DARPA, Network Associates Laboratories
* Restore bzip2(1) support in loader(8) after Peter's renames ofru2003-04-251-2/+11
| | | | malloc() to Malloc(), and free() to Free(), in zalloc_malloc.c.
* Connect libpthread to the (i386) world. It is currently installeddeischen2003-04-251-1/+4
| | | | | | | as libkse and will once again be renamed libpthread after more testing. Approved by: re
* Remove the %gs restoring hack (already commented out).deischen2003-04-252-12/+2
| | | | | | | Don't install man pages. Temporarily (again) rename the library to libkse. It will be put back to libpthread after more wide-spread testing.
* In compat mode, we `redispatch' the lookup. It is probably a goodnectar2003-04-241-0/+1
| | | | | | | | idea to re-initialize `struct passwd', because e.g. pw_class might get set by one module, but not by another. Add another call to the internal pwd_init function to accomplish this. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-241-1/+3
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Don't complain about missing NSS methods when built statically. It isnectar2003-04-241-1/+3
| | | | | | annoying and not very useful. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-242-4/+8
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Catch up with nsdispatch.c: nsdispatch(3) is now `hidden' bynectar2003-04-242-3/+3
| | | | | | namespace.h. Sponsored by: DARPA, Network Associates Laboratories
* Remove a bogus null password check which assumed that a user with an emptydes2003-04-241-2/+8
| | | | | | password must necessarily have an empty pwd->pw_passwd. Also add a check that prevents users from setting a blank password unless the nullok option was specified. Root is still allowed to give anyone a blank password.
* Add a macro to get the current thread mailbox pointer.deischen2003-04-231-0/+1
|
* Remove the i386-specific hack (well, we only run on i386 anyways)deischen2003-04-232-8/+8
| | | | | | to always set %gs when resuming a thread. Install this library as libpthread instead of libkse.
* Protect thread errno from being changed while operatingdeischen2003-04-236-2/+76
| | | | | | | | on behalf of the KSE. Add a kse_reinit function to reinitialize a reused KSE. Submitted by: davidxu
* Fix a compiler warning.phk2003-04-231-0/+2
| | | | Submitted by: David Leimbach <leimy2k@mac.com>
* ``Strong typing is a crutch for people with weak memories.''nectar2003-04-221-3/+3
| | | | | | | | | | | | | | | | | | | | | | Correct a bug that should have wreaked havoc everywhere, but for some reason only bit unlucky people who use `-march' optimizations. The compiler cannot assist one in distinguishing between the two function calls below. int nsdispatch(void *, ...); void *discard; nsdispatch(&discard, ...); /* correct .. no, really! */ nsdispatch(discard, ...); /* Boom */ Robin provided me with a debugging environment in which I could see what was going on. Badness when using CPUTYPE was Reported by: "Robin P. Blanchard" <Robin.Blanchard@gactr.uga.edu> Reported by: nork Sponsored by: DARPA, Network Associates Laboratories
* Set the quantum for scope system threads to 0 (no quantum).deischen2003-04-222-0/+4
|
* Add a working pthread_[gs]etconcurrency. Initial null implementationdeischen2003-04-224-0/+242
| | | | | | | | | provided by Sergey A. Osokin <osa@freebsd.org.ru>. In order to test this on a single CPU machine, you need to: sysctl kern.threads.debug=1 sysctl kern.threads.virtual_cpu=2
* Add a couple asserts to pthread_cond_foo to ensure the (low-level)deischen2003-04-2210-42/+144
| | | | | | | | | | | | | | | lock level is 0. Thus far, the threads implementation doesn't use mutexes or condition variables so the lock level should be 0. Save the return value when trying to schedule a new thread and use this to return an error from pthread_create(). Change the max sleep time for an idle KSE to 1 minute from 2 minutes. Maintain a count of the number of KSEs within a KSEG. With these changes scope system threads seem to work, but heavy use of them crash the kernel (supposedly VM bugs).
* Collapse the meta arguments into normal arguments, trying to distinguishphk2003-04-222-38/+1
| | | | just makes our own life harder.
* Fix compilation errors.phk2003-04-221-2/+1
| | | | I wonder how I managed to cross-compile this yesterday.
* Update libdisk to use the explicing encoding function for sunlabel dataphk2003-04-212-11/+13
| | | | structures.
* Correct a bug that was somehow both obvious and hard-to-see. :-)nectar2003-04-211-1/+1
| | | | | | | | | | | | An incorrectly-sized allocation was being made due to an incorrect argument to the `sizeof' operator. Obvious, because it violated the `foo = malloc(sizeof(*foo))' idiom. Hard-to-see, because it was a missing `*' (`*p' versus `**p'). Resulting failure was Reported by: ache Sponsored by: DARPA, Network Associates Laboratories
OpenPOWER on IntegriCloud