summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* - Mark the various thr syscalls as MP safe. Previously there was a bug ifjeff2003-04-011-4/+4
| | | | this was not done since thr_exit() unwinds giant.
* - Borrow the KSE single threading code for exec and exit. We use the checkjeff2003-04-016-10/+25
| | | | | | | | if (p->p_numthreads > 1) and not a flag because action is only necessary if there are other threads. The rest of the system has no need to identify thr threaded processes. - In kern_thread.c use thr_exit1() instead of thread_exit() if P_THREADED is not set.
* - Regen for umtx.jeff2003-04-015-7/+23
|
* - Add thr and umtx system calls.jeff2003-04-013-0/+24
|
* - Add the kern_umtx.c file to the build.jeff2003-04-011-0/+1
|
* - Include umtx.h in files generated by makesyscalls.shjeff2003-04-012-0/+3
| | | | - Add system calls for umtx.
* - Add an entry and a head for the queue of threads blocked on a umtx.jeff2003-04-011-0/+4
| | | | - Add a prototype for thr_exit1().
* - Add an api for doing smp safe locks in userland.jeff2003-04-012-0/+390
| | | | | | | | | | | | - umtx_lock() is defined as an inline in umtx.h. It tries to do an uncontested acquire of a lock which falls back to the _umtx_lock() system-call if that fails. - umtx_unlock() is also an inline which falls back to _umtx_unlock() if the uncontested unlock fails. - Locks are keyed off of the thr_id_t of the currently running thread which is currently just the pointer to the 'struct thread' in kernel. - _umtx_lock() uses the proc pointer to synchronize access to blocked thread queues which are stored in the first blocked thread.
* - We now have to include umtx.h and ucontext.h in the system call relatedjeff2003-04-011-0/+2
| | | | headers.
* - Regen for thr related system calls.jeff2003-04-015-7/+46
|
* - Add the four thr related system calls.jeff2003-04-011-0/+4
|
* - Add kern_thr.cjeff2003-04-011-0/+1
|
* - Add two files to support the thr threading interface.jeff2003-04-012-0/+311
| | | | | | - sys/thr.h contains the user space visible api that is intended only for use in threading library packages. - kern/kern_thr.c contains thr system calls and other thr specific code.
* - Define a new md function 'casuptr'. This atomically compares and setsjeff2003-04-0111-0/+146
| | | | | | | | | | a pointer that is in user space. It will be used as the basic primitive for a kernel supported user space lock implementation. - Implement this function in x86's support.s - Provide stubs that return -1 in all other architectures. Implementations will follow along shortly. Reviewed by: jake
* - In npxgetregs() use the td argument to save the fpu state from and notjeff2003-04-013-6/+3
| | | | | | | curthread. Nothing currently depends on this behavior. - Clean up an extra newline. Obtained from: bde
* - Add a placeholder for sigwaitjeff2003-03-313-0/+3
|
* - Regen for the sig*wait* system calls.jeff2003-03-315-11/+35
|
* - According to mike@FreeBSD.org SIGTHR should be hiden byjeff2003-03-311-3/+2
| | | | #ifdef __BSD_VISIBLE
* - Define sigwait, sigtimedwait, and sigwaitinfo in terms ofjeff2003-03-314-6/+179
| | | | | | kern_sigtimedwait() which is capable of supporting all of their semantics. - These should be POSIX compliant but more careful review is needed before we announce this.
* Revert change 1.201 (removing mapping of VAPPEND to VWRITE).thomas2003-03-311-32/+2
| | | | | | | | | | Instead, use the generic vaccess() operation to determine whether an operation is permitted. This avoids embedding knowledge on vnode permission bits such as VAPPEND in the NFS client. PR: kern/46515 vaccess() patch submitted by: "Peter Edwards" <pmedwards@eircom.net> Approved by: tjr, roberto (mentor)
* - Catch up with kernel signal changes.jeff2003-03-311-1/+2
|
* - The siglist in the proc holds signals that were blocked by all threadsjeff2003-03-310-0/+0
| | | | | | | | | | | | | | | | when they were delivered. In signotify() check to see if we have unblocked any of those signals and post them to the thread. - Use td_sigmask instead of p_sigmask in all cases. - In sigpending return both signals pending on the thread and proc. - Define a function, sigtd(), that finds the appropriate thread to deliver the signal to if psignal() has been called instead of tdsignal(). - Define a function, tdsignal(), that delivers a signal to a specific thread or if that thread has the signal blocked it may deliver it to the process where it will wait for a thread to unblock it. - Since we are delivering signals to a specific thread we do not need to abort the sleep of all threads. - Rename the old tdsignal() to tdsigwakeup(). - Save and restore the old signal mask to and from the thread.
* - Move the NEEDSIGCHK and OLDMASK flags from proc to thread.jeff2003-03-311-10/+11
| | | | | - Move the signal mask to the thread. - Adjust a few comments.
* - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread withjeff2003-03-3136-315/+449
| | | | | | | a follow on commit to kern_sig.c - signotify() now operates on a thread since unmasked pending signals are stored in the thread. - PS_NEEDSIGCHK moves to TDF_NEEDSIGCHK.
* Do NOT return from an non-interruptable cv_wait, falselyjulian2003-03-311-2/+0
| | | | claiming to have timed out. I don't know what I was thinking..
* - Fix two calls to trapsignal() that were still passing in 'struct proc'.jeff2003-03-312-4/+4
| | | | These were missed in my last commit.
* - Add a signal for thread synchronization. Add an XXX so that maybejeff2003-03-311-0/+4
| | | | | someone more knowledgeable on standards defined namespaces may ifdef this out.
* - Mark signals which may be delivered to any thread in the process withjeff2003-03-311-31/+32
| | | | | SA_PROC. Signals without this flag should be directed to a particular thread if this is possible.
* - Change trapsignal() to accept a thread and not a proc.jeff2003-03-3113-40/+40
| | | | | | | - Change all consumers to pass in a thread. Right now this does not cause any functional changes but it will be important later when signals can be delivered to specific threads.
* - Use sigexit() instead of twiddling the signal mask, catch, ignore, andjeff2003-03-313-25/+5
| | | | | action bits to allow SIGILL to work as expected. This brings this file in line with other architectures.
* Add a facility allowing processes to inform the VM subsystem they arewes2003-03-315-1/+28
| | | | | | | | critical and should not be killed when pageout is looking for more memory pages in all the wrong places. Reviewed by: arch@ Sponsored by: St. Bernard Software
* Add missing ()'s so that these drivers all compile again.jhb2003-03-3113-13/+13
| | | | | Noticed by: jake Tested on: i386 (compile)
* - Allow the physical memory size that will be actually used by the kernel tojake2003-03-312-2/+44
| | | | | | | | be overridden by setting hw.physmem. - Fix a vm_map_find arg, we don't want to find space. - Add tracing and statistics for off colored pages. - Detect "stupid" pmap_kenters (same virtual and physical as existing mapping), and do nothing in that case.
* If we fail to find our PCI ID in attach (this should never happen), thenjhb2003-03-311-2/+1
| | | | | just return ENXIO directly instead of calling tl_detach() since that would panic since the softc mutex isn't initialized until after this check.
* Use new GEOM OAM. Kernels have supported this for a number of days, sophk2003-03-312-40/+29
| | | | people should be OK.
* Remove some debugging in the new OAM[*] and add a debug flag for otherphk2003-03-312-5/+3
| | | | | | | | | parts of it. [*] I've been asked what "OAM" means: It's an acronym used in the telecom industry, "Operations And Maintenance", and there it covers anything from a single unlabeled led on the frontpanel the the full nightmare of CMIP for SS7.
* Match "serial" as well as "se".jake2003-03-311-1/+2
|
* Release errata can also contain information uncovered late in thebmah2003-03-311-1/+3
| | | | release cycle (after the release notes are closed). Note this fact.
* New release notes/errata: SA-03:07.bmah2003-03-313-11/+17
| | | | Submitted by: gshapiro
* Clean up locking and resource management for pci/if_*njl2003-03-3117-793/+711
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove locking of the softc in the attach method, instead depending on bus_setup_intr being at the end of attach (delaying interrupt enable until after ether_ifattach is called) - Call *_detach directly in the error case of attach, depending on checking in detach to only free resources that were allocated. This puts all resource freeing in one place, avoiding thinkos that lead to memory leaks. - Add bus_child_present check to calls to *_stop in the detach method to be sure hw is present before touching its registers. - Remove bzero softc calls since device_t should do this for us. - dc: move interrupt allocation back where it was before. It was unnecessary to move it. This reverts part of 1.88 - rl: move irq allocation before ether_ifattach. Problems might have been caused by allocating the irq after enabling interrupts on the card. - rl: call rl_stop before ether_ifdetach - sf: call sf_stop before ether_ifdetach - sis: add missed free of sis_tag - sis: check errors from tag creation - sis: move dmamem_alloc and dmamap_load to happen at same time as tag creation - sk: remove duplicate initialization of sk_dev - ste: add missed bus_generic_detach - ti: call ti_stop before ether_ifdetach - ti: add missed error setting in ti_rdata alloc failure - vr: add missed error setting in I/O, memory mapping cases - xl: add missed error setting in I/O, memory mapping cases - xl: remove multi-level goto on attach failure - xl: move dmamem_alloc and dmamap_load to happen at same time as tag creation - Calls to free(9) are unconditional because it is valid to call free with a null pointer. Reviewed by: imp, mdodd
* - when using a child process instead of a thread, change the child'sdes2003-03-311-2/+13
| | | | | | | name to reflect its role - try to handle expired passwords a little better MFC after: 1 week
* If an ssh1 client initiated challenge-response authentication but diddes2003-03-313-1/+22
| | | | | | | | | | | | not respond to challenge, and later successfully authenticated itself using another method, the kbdint context would never be released, leaving the PAM child process behind even after the connection ended. Fix this by automatically releasing the kbdint context if a packet of type SSH_CMSG_AUTH_TIS is follwed by anything but a packet of type SSH_CMSG_AUTH_TIS_RESPONSE. MFC after: 1 week
* Enable cpp(1) warnings in system headers. GCC is oriented onru2003-03-312-1/+2
| | | | | | glibc which is externally maintained, so GCC ships with these warnings turned off by default. This is also consistent with the src/contrib/gcc/c-lex.c,v 1.2 change.
* Slightly improve buildworld times by excluding crunchide(1)ru2003-03-311-4/+10
| | | | | | | | | | | and kgzip(8) from the list of cross-tools during the normal, non-"make release" buildworld. Also, don't gratuitously build them, btxld(8) and elf2aout(1) for native architecture builds, since they have no known boostrapping issues along the supported upgrade path. Prodded by: peter
* Mention that 20021024 entry doesn't affect disks formatted inru2003-03-311-6/+8
| | | | dangerously-dedicated mode.
* Trace command execution. Grammar and spelling.ru2003-03-311-3/+3
|
* NODEVFS cleanup: don't bother with MAKEDEV.ru2003-03-311-5/+1
|
* Unmount the file system and detach an underlying memory disk evenru2003-03-312-10/+8
| | | | | | if the script fails somewhere in the middle. Prodded by: phk
* Revert revision 1.639 -- the "nodev" mount(8) option restrictionru2003-03-311-4/+0
| | | | does not apply to ${CHROOTDIR} file system since revision 1.712.
* Strip the .comment section out from the BOOTMFS kernel.ru2003-03-311-1/+1
|
OpenPOWER on IntegriCloud