summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* mdoc(7) police: Remove the debug line that prevents hyphenationru2001-01-241-1/+0
| | | | | for the purposes of spelling checking that left in after my last visit to this file.
* - Catch up to proc flag changes.jhb2001-01-242-11/+21
| | | | | - Minimal proc locking. - Use queue macros.
* Add mtx_assert()'s to verify that kmem_alloc() and kmem_free() are calledjhb2001-01-241-0/+3
| | | | with Giant held.
* - Catch up to proc flag changes.jhb2001-01-241-27/+43
| | | | | | | | - Proc locking in a few places. - faultin() now must be called with the proc lock held. - Split up swappable() into a couple of tests so that it can be locke in swapout_procs(). - Use queue macros.
* - Catch up to proc flag changes.jhb2001-01-243-5/+15
|
* - Catch up to proc flag changes.jhb2001-01-241-2/+3
| | | | - Assert sched_lock is held in proc_compare.
* - Catch up to proc flag changes.jhb2001-01-241-4/+18
| | | | | | - Update stopevent() to assert that the proc lock is held when it is held and is not recursed. Note that the STOPEVENT() macro obtains the proc lock when calling this function.
* - Catch up to proc flag changes.jhb2001-01-241-14/+35
| | | | - Add proc locking for selwakeup() and selrecord().
* - Catch up to proc flag changes.jhb2001-01-241-2/+6
|
* - Catch up to proc flag changes.jhb2001-01-241-25/+29
| | | | | | - Add in some locking ops that might fix SIGXCPU, but don't enable them yet. - Assert that sched_lock is not recursed when mi_switch() is called.
* - Proc locking.jhb2001-01-241-13/+20
| | | | - Catch up to proc flag changes.
* - Add a mtx_assert() for sched_lock in calcru().jhb2001-01-241-0/+3
| | | | - Protect calcru() with sched_lock later on in the file when it is called.
* - Proc locking.jhb2001-01-241-31/+36
| | | | | | - Catch up to proc flag changes. - Reorder the way we get things in fill_kinfoproc() to minimize the number of locking operations.
* - Don't use a union and fun tricks to shave one extra pointer off of structjhb2001-01-244-256/+230
| | | | | | | | | | | | | | | | | | mtx right now as it makes debugging harder. When we are in optimizing mode, we can revisit this. - Fix the KTR trace messages to use %p rather than 0x%p to avoid duplicate 0x's in KTR output. - During witness_fixup, release Giant so that witness doesn't get confused. Also, grab all_mtx while walking the list of mutexes. - Remove w_sleep and w_recurse. Instead, perform checks on mutexes using the mutex's mtx_flags field. - Allow debug.witness_ddb and debug.witness_skipspin to be set from the loader. - Add Giant to the front of existing order_list entries to help ensure Giant is always first. - Add an order entry for the various proc locks. Note that this only helps keep proc in order mostly as the allproc and proctree mutexes are only obtained during a lockmgr operation on the specified mutex.
* - Catch up to proc flag changes.jhb2001-01-241-3/+6
| | | | - Set the new P_KTHREAD flag for kthreads during kthread_create.
* - Catch up to proc flag changes.jhb2001-01-241-4/+79
| | | | - Add new fork_exit() and fork_return() MI C functions.
* Catch up to P_FOO -> PS_FOO changes in proc flags.jhb2001-01-241-16/+15
|
* - Proc locking.jhb2001-01-241-7/+20
| | | | - P_FOO -> PS_FOO.
* - Catch up to p_sflag changes.jhb2001-01-241-20/+11
| | | | | | | - The MD code now initializes proc0.p_heldmtx, proc0.p_contested, and curproc. - The MD code calls here with Giant already held. - Proc locking.
* - Proc locking.jhb2001-01-241-2/+6
| | | | - P_OWEUPC -> PS_OWEUPC.
* - Proc locking.jhb2001-01-241-41/+59
| | | | | - Update userret() to take a struct trapframe * as a second argument. - Axe have_giant and use mtx_owned(&Giant) where appropriate.
* - Proc locking.jhb2001-01-242-5/+32
| | | | - P_FOO -> PS_FOO.
* - Proc locking.jhb2001-01-241-22/+27
| | | | - Bring across forwarded_statclock() fixes from i386 and alpha.
* - Proc locking around the vinumdaemon dinking with its flags.jhb2001-01-241-1/+6
| | | | - P_INMEM -> PS_INMEM.
* Make mp_machdep.c be an optional file conditional on SMP.jhb2001-01-241-1/+1
|
* Proc locking.jhb2001-01-244-6/+36
|
* Use queue macros.jhb2001-01-241-2/+1
|
* Add a prototype for isa_irq_mask() to quiet a warning.jhb2001-01-241-0/+1
|
* Wrap the IPI definitions and function prototypes in #ifdef SMP.jhb2001-01-241-0/+2
|
* - Rename the gd_cpuno member of struct globaldata to gd_cpuid.jhb2001-01-244-16/+24
| | | | - Add a globaldata_register() prototype in the SMP case.
* - Proc locking.jhb2001-01-241-2/+6
| | | | - P_OWEUPC -> PS_OWEUPC.
* - Change userret() to take a struct trapframe * as its second argument andjhb2001-01-241-59/+61
| | | | | | | | | | | | | | | | to extract the PC from that to send to addupc_task() so that it can be called from MI code. - Remove all traces of have_giant with extreme prejudice and use mtx_owned(&Giant) instead where appropriate. - Proc locking. - P_FOO -> PS_FOO. - Don't grab Giant just to look in curproc's p_addr during a trap since we may choose to immediately exit. Instead, delay grabbing Giant a bit until we actually need it. - Don't reset 'p' to 'curproc' in syscall() to handle the case of a child returning from fork1() since children don't return via syscall(). - Remove an XXX comment in ast() that questions the correctness of the userland check. The code is correct.
* - Proc locking.jhb2001-01-242-8/+48
| | | | - P_INMEM -> PS_INMEM.
* - Proc locking.jhb2001-01-241-38/+47
| | | | | | | - Don't send IPIs for pmap_invalidate_page() or pmap_invalidate_all() in the UP case. - Catch up to cpuno -> cpuid. - Convert some sanity checks that were #ifdef DIAGNOSTIC to KASSERT()'s.
* - Adjust some whitespace to reduce diffs with the i386 version.jhb2001-01-241-103/+102
| | | | | | | | | | | | | | | | | | | | - Rename the per-CPU variable 'cpuno' to 'cpuid'. This was done so that there is one consistent name across all architectures for a logical CPU id. - Remove all traces of IRQ forwarding. - Add globaldata_register() hook called by globaldata_init() to register globaldata structures in the cpuid_to_globaldata array. - Catch up to P_FOO -> PS_FOO. - Bring across some fixes for forwarded_statclock() from the i386 version to handle ithreads and idleproc properly. - Rename addugd_intr_forwarded() to addupc_intr_forwarded() so that it is the same name on all architectures. - Set flags in p_sflag instead of calling psignal() from forward_hardclock(). - Proc locking. - When we handle an IPI, turn off its bit in the mask of IPI's we are currently handling so that an IPI doesn't send a CPU into an infinite loop.
* - Initialize curproc, proc0.p_heldmtx, and proc0.p_contested earlier sojhb2001-01-241-2/+48
| | | | | | | | | that mutex operations work. - Enter Giant earlier so we hold it during boot. - Proc locking. - Move globaldata_init() into here from mp_machdep.c so that UP kernels don't depend on mp_machdep.c. Use a callout in the SMP case to register the boot processor's globaldata in the cpuid_to_globaldata array.
* - Wrap the IPI interrupt handler in #ifdef SMP.jhb2001-01-241-2/+4
| | | | | - Catch up to cpuno -> cpuid change. - Add parens around a subexpression to quiet a warning.
* cpuno -> cpuid.jhb2001-01-242-2/+2
|
* Don't import the nonexistent astpending variable.jhb2001-01-241-2/+0
|
* Wrap the startup code used by secondary processors in #ifdef SMP.jhb2001-01-241-0/+2
|
* Remove the Xforward_irq IPI.jhb2001-01-242-8/+0
|
* - Remove all the #if 0'd code that used to implement IRQ forwarding.jhb2001-01-243-255/+0
| | | | - Remove #if 0'd lazy interrupt mask.
* Remove unused locks: cpl, fast_intr, intr, mpintr.jhb2001-01-241-4/+0
|
* - Proc locking.jhb2001-01-242-8/+14
| | | | | - P_OWEUPC -> PS_OWEUPC. - Remove obsolete prototype for MD fork_return().
* - Remove Xforward_irq, cpl_lock, and fast_intr_lock.jhb2001-01-241-3/+1
| | | | - Add fork_exit.
* Setup the return values for a child process in the trapframe when we setupjhb2001-01-242-0/+8
| | | | the rest of the trapframe instead of doing it in fork_return().
* - Kill the have_giant parameter to userret() along with all instances ofjhb2001-01-243-297/+222
| | | | | | | | | | | | | that name as a variable. Use mtx_owned(&Giant) where appropriate instead. - Proc locking. - P_FOO -> PS_FOO. - Update comments about enable interrupts during trap and why this may be bad if we trap while holding a spin mutex. - Don't bother resetting p to curproc in syscall() in case we are the child returning from fork. The child hasn't returned from fork through syscall in a while. - Remove fork_return() as it has been superseded by the MI version.
* - Proc locking.jhb2001-01-243-7/+54
| | | | - P_INMEM -> PS_INMEM.
* - Relocate portions of this file to get it into an order closer to that ofjhb2001-01-247-1197/+1071
| | | | | | | | | | | | | the alpha mp_machdep.c. - Proc locking. - Catch up to the P_FOO -> PS_FOO proc flags changes. - Stick ap_init()'s prototype with the other prototypes. - Remove the Xforwardirq IPI. - Remove unused simplelocks. - Don't try to psignal() from forward_statclock(), but set the appropriate signal pending flag in p_sflag instead. - Add in KTR_SMP tracepoints for various SMP functions. (Brought over from the alpha port)
* - Proc locking.jhb2001-01-242-16/+58
| | | | | | | - Setup proc0.p_heldmtx, proc0.contested, and curproc earlier so that we can use mutexes. - Initialize sched_lock and Giant earlier and enter Giant during init386. - Use suser(9) instead of checking cr_uid directly.
OpenPOWER on IntegriCloud