Home | History | Annotate | Download | only in include
History log of /src/sys/arch/i386/include/lock.h
RevisionDateAuthorComments
 1.9  27-Feb-2003  fvdl Adapt for move to x86/include.
 1.8  26-Feb-2003  fvdl Redirect some includes to x86/foo.h
 1.7  30-Jan-2003  thorpej Test _KERNEL_OPT before including opt_*.h files.
 1.6  01-Oct-2002  fvdl Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.
 1.5  30-Apr-2001  lukem branches: 1.5.2; 1.5.10;
remove some lint, including ansifying some inlines
 1.4  02-May-2000  thorpej branches: 1.4.6; 1.4.8;
Let each platform typedef the new __cpu_simple_lock_t, which should
be the most efficient type used for the atomic operations in the
simplelock structure, and should also be __volatile.
 1.3  29-Apr-2000  thorpej Implement __cpu_simple_{,un}lock{,try}(), modeled after the Alpha
implementation.
 1.2  29-Apr-2000  thorpej Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.1  20-Feb-2000  sommerfeld branches: 1.1.2;
file lock.h was initially added on branch sommerfeld_i386mp_1.
 1.1.2.7  05-May-2002  sommerfeld Make C++-safe
 1.1.2.6  29-Dec-2001  sommerfeld Add barriers, just in case
 1.1.2.5  30-Apr-2001  sommerfeld Catch up on some files missed the last time 'round
 1.1.2.4  07-Jan-2001  sommerfeld For the sake of my sanity, make this match the code in lock_machdep.c
a bit more closely.
 1.1.2.3  31-Aug-2000  sommerfeld Protect include of opt_lockdebug.h
 1.1.2.2  03-May-2000  sommerfeld Only do cpu_simple locks out-of-line if LOCKDEBUG is defined
 1.1.2.1  20-Feb-2000  sommerfeld Declarations of of cpu_simple_*lock* functions.
(currently not inlined, for debuggability)
 1.4.8.2  18-Oct-2002  nathanw Catch up to -current.
 1.4.8.1  21-Jun-2001  nathanw Catch up to -current.
 1.4.6.2  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.4.6.1  02-May-2000  bouyer file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:09:29 +0000
 1.5.10.3  20-Mar-2002  thorpej * Add a memory clobber to the atomic operations in the lock-acquire
path, so that the compiler will treat them as a memory access barrier.
* Spin with a normal memory load until the lock is released and then
retry the compare-and-swap in __cpu_simple_lock().
 1.5.10.2  20-Mar-2002  thorpej Use the new P4 "pause" insn in the body of the __cpu_simple_lock()
loop.
 1.5.10.1  19-Mar-2002  thorpej Change __cpu_simple_lock_t to a single byte.
 1.5.2.1  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work

RSS XML Feed