summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Retire the useless NOSECURE knob.des2003-05-194-8/+5
| | | | Approved by: re (scottl)
* Fixed troff(1) and mdoc(7) warnings.ru2003-05-184-5/+6
| | | | Approved by: re (blanket)
* Fix a simple bug that prevents svc_tli_create to bind to the addressmbr2003-05-181-1/+1
| | | | | | | | | | specified by caller. NetBSD rev. 1.6 Reviewed by: rwatson Approved by: rwatson (re) Obtained from: NetBSD
* Moved libgeom.so dependencies to where they belong.ru2003-05-171-0/+3
| | | | | Reviewed by: phk Approved by: re (scottl)
* Revamp of the syscall path, exception and context handling. Themarcel2003-05-164-13/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prime objectives are: o Implement a syscall path based on the epc inststruction (see sys/ia64/ia64/syscall.s). o Revisit the places were we need to save and restore registers and define those contexts in terms of the register sets (see sys/ia64/include/_regset.h). Secundairy objectives: o Remove the requirement to use contigmalloc for kernel stacks. o Better handling of the high FP registers for SMP systems. o Switch to the new cpu_switch() and cpu_throw() semantics. o Add a good unwinder to reconstruct contexts for the rare cases we need to (see sys/contrib/ia64/libuwx) Many files are affected by this change. Functionally it boils down to: o The EPC syscall doesn't preserve registers it does not need to preserve and places the arguments differently on the stack. This affects libc and truss. o The address of the kernel page directory (kptdir) had to be unstaticized for use by the nested TLB fault handler. The name has been changed to ia64_kptdir to avoid conflicts. The renaming affects libkvm. o The trapframe only contains the special registers and the scratch registers. For syscalls using the EPC syscall path no scratch registers are saved. This affects all places where the trapframe is accessed. Most notably the unaligned access handler, the signal delivery code and the debugger. o Context switching only partly saves the special registers and the preserved registers. This affects cpu_switch() and triggered the move to the new semantics, which additionally affects cpu_throw(). o The high FP registers are either in the PCB or on some CPU. context switching for them is done lazily. This affects trap(). o The mcontext has room for all registers, but not all of them have to be defined in all cases. This mostly affects signal delivery code now. The *context syscalls are as of yet still unimplemented. Many details went into the removal of the requirement to use contigmalloc for kernel stacks. The details are mostly CPU specific and limited to exception_save() and exception_restore(). The few places where we create, destroy or switch stacks were mostly simplified by not having to construct physical addresses and additionally saving the virtual addresses for later use. Besides more efficient context saving and restoring, which of course yields a noticable speedup, this also fixes the dreaded SMP bootup problem as a side-effect. The details of which are still not fully understood. This change includes all the necessary backward compatibility code to have it handle older userland binaries that use the break instruction for syscalls. Support for break-based syscalls has been pessimized in favor of a clean implementation. Due to the overall better performance of the kernel, this will still be notived as an improvement if it's noticed at all. Approved by: re@ (jhb)
* Add a method of yielding the current thread with the schedulerdeischen2003-05-1628-628/+686
| | | | | | | | | | | | | | | | | | | | | | | lock held (_thr_sched_switch_unlocked()) and use this to avoid dropping the scheduler lock and having the scheduler retake the same lock again. Add a better way of detecting if a low-level lock is in use. When switching out a thread due to blocking in the UTS, don't switch to the KSE's scheduler stack only to switch back to another thread. If possible switch to the new thread directly from the old thread and avoid the overhead of the extra context switch. Check for pending signals on a thread when entering the scheduler and add them to the threads signal frame. This includes some other minor signal fixes. Most of this was a joint effor between davidxu and myself. Reviewed by: davidxu Approved by: re@ (blanket for libpthread)
* Catch up with the renaming of the "union" filesystem to "unionfs".tjr2003-05-161-1/+1
| | | | | | | Fixes a problem where directory entries could show up twice: once on the top layer of the union stack, and once on the bottom layer. Approved by: re (rwatson)
* Do some cleanup with respect to condition variables. The implementationmtm2003-05-151-15/+14
| | | | | | | | | | | | of pthread_cond_timedwait() is moved into cond_wait_common(). Pthread_cond_wait() and pthread_cond_timedwait() are now wrappers around this function. Previously, the former called the latter with the abstime pointing to 0 time. This violated Posix semantics should an application have reason to call it with that argument because instead or returning immediately it would have waited indefinitely for the cv to be signaled. Approved by: markm/mentor, re/blanket libthr Reviewed by: jeff
* o Make the setting/checking of cancel state atomic withmtm2003-05-151-87/+111
| | | | | | | | | | | | | | respect to other threads and signal handlers by moving to the _thread_critical_enter/exit functions. o Introduce an static function, testcancel(), that is used by the other functions in this module. This allows it to make locking assumptions that the top-level functions can't. o Rework the code flow a bit to reduce indentation levels. Approved by: markm/mentor, re/blanket libthr Reviewed by: jeff
* s/procsig/sigacts/ to catch up to procsig and sigacts changes in the kernel.jhb2003-05-141-10/+6
| | | | Approved by: re (scottl)
* Bandaid for world. jhb gets the pointy hat here and he needs to look atpeter2003-05-141-0/+4
| | | | | | this. Approved by: re (scottl)
* * The copy of the stat struct in the man page has rotted, so remove it.dougb2003-05-131-29/+2
| | | | | | | | Those who really need this information can find it in the include file. * Include a succinct description of the st_birthtime field. Approved by: re (bmah)
* Following MLINKS added, which point to host_access(3):hmp2003-05-121-0/+2
| | | | | | | | | - hosts_ctl(3), hosts_access(3), request_init(3), request_set(3). PR: docs/52000 Submitted by: Simon L. Nielsen <simon@nitro.dk> Approved and Reviewed by: des (mentor), re (scottl)
* msg2mtm2003-05-121-7/+7
|
* msg1mtm2003-05-123-263/+181
|
* Update ldexp.c for amd64.peter2003-05-102-7/+1
|
* Add a comment describing why it's important for the values in thisdas2003-05-086-0/+42
| | | | | | file to be correct, and how to generate them automatically. Caused much pain and suffering for: peter
* SIG_SETMASK is 3, not 1. Sigh.peter2003-05-081-1/+1
|
* Fix an embarresing transcription error from i386 to amd64. Put the argumentspeter2003-05-082-13/+12
| | | | | to sigprocmask(2) int the correct order. *blush*. For sigsetjmp(), match up the pushq/popq in the non-savemask case.
* Tidy up modf.S and make it actually work. It wasn't extractingpeter2003-05-081-16/+13
| | | | | the value out of ST(0) before copying it to %xmm0. Also remove bogus stack frame and work in the red zone.
* Fix typo, even though this is unused.peter2003-05-081-1/+1
|
* Like ia64, amd64 has got a 16 byte sized and aligned 'long double'.peter2003-05-081-1/+2
| | | | Obtained from: re (blanket amd64)
* Turn off alloca.S - it cannot possibly work like this since on AMD64, gccpeter2003-05-071-1/+1
| | | | | | | doesn't use stack frames. It uses offsets relative to %rsp, not %rbp. So we cannot just change %rsp like this. Approved by: re (blanket amd64)
* Actually use the correct values for AMD64. It is a 64 bit platform,peter2003-05-071-0/+4
| | | | configure gdtoa as such.
* Properly cleanup the stack before jumping to cerror() if rfork(2) fails.jhb2003-05-071-0/+4
| | | | | Submitted by: Igor Sysoev <is@rambler-co.ru> Approved by: re (scottl)
* Fix a null dereference leading to a core dump whenmtm2003-05-061-1/+4
| | | | | | | | the number of threads exceeds the number of open slots in ldt_entries[]. Approved by: markm (mentor)(implicit) Reviewed by: jeff
* o Correct a debug message that refered to the wrong functionmtm2003-05-062-23/+20
| | | | | | | o Remove an unncecesary if clause Approved by: markm (mentor)(implicit) Reviewd by: jeff
* Make pthread_join() async-cancel-safe. David was going to commitdeischen2003-05-062-18/+0
| | | | | | | this, but I think he's asleep and want to be sure it gets in before the freeze. Submitted by: davidxu
* OpenPAM is WANRS6-clean.des2003-05-051-1/+1
|
* Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extramarkm2003-05-052-2/+2
| | | | | cleanups were necessary in release/Makefile, and the tinderbox code was syntax checked, not run checked.
* Backout last commit. It is redundant in -CURRENT.murray2003-05-051-5/+1
| | | | Pointed out by: David Schultz
* call dump_queues() only when DEBUG_THREAD_KERN is defined, save somedavidxu2003-05-052-0/+4
| | | | cpu cycles.
* Replace use of a spinlock with a mutex.deischen2003-05-042-12/+9
|
* Protect against a race between granting a lock and accessingdeischen2003-05-044-14/+56
| | | | | | other parts of the lock. Submitted by: davidxu
* Note that the idletime setting is not enforced.murray2003-05-041-1/+5
| | | | | PR: docs/40952 MFC After: 3 days
* This is now Gcc 3.3 WARNS 6 clean.obrien2003-05-041-0/+1
|
* Set abitag __unused.obrien2003-05-041-3/+4
|
* Fix suspend and resume.deischen2003-05-0412-86/+94
| | | | Submitted (in part) by: Kazuaki Oda <kaakun@highway.ne.jp>
* Document the login-backoff and login-retries capabilities.murray2003-05-041-0/+5
| | | | | PR: docs/51397 MFC After: 3 days
* Handle thread canceled case, it is same as signal caused backout,davidxu2003-05-022-2/+2
| | | | but will break out of loop.
* Trasmute moer "krb5" distibutions into "crypto".markm2003-05-011-3/+1
|
* Use the .Dl macro.trhodes2003-05-011-1/+1
| | | | Discussed with: mdoc(7) officer ru
* Build non-crypto telnet(1) and telnetd(8) if NO_OPENSSL is defined.ru2003-05-011-1/+1
| | | | Submitted by: Marius Strobl <marius@alchemy.franken.de>
* State the fact that the range is twice the traditional RAND_MAX.trhodes2003-05-011-1/+16
| | | | | | | Add an EXAMPLES section. PR: 48493 Submitted by: Paul Herman <pherman@frenchfries.net> (original version)
* Back out the `hiding' of strlcpy and strlcat. Several peoplenectar2003-05-0120-71/+51
| | | | vocally objected to this safety belt.
* Convert the i386 alloca(3) to the x86-64 ISA.obrien2003-05-011-0/+53
| | | | Alignment hack from: NetBSD
* Use C99-style varadic macros instead of the non-standard gcc syntax.des2003-05-011-5/+5
|
* Mark libpam as c99- and WARNS5-clean.des2003-05-011-1/+2
|
* Mark libfetch as c99-clean. Always build at WARNS level 2 rather thandes2003-05-011-2/+2
| | | | | juggling with levels 2 and 3, as this has lead to world breakage for NOCRYPT users in the past.
* AMD64 support (another IEEEFP platform)peter2003-04-301-1/+1
|
OpenPOWER on IntegriCloud