History log of /src/sys/arch/sparc/include/lock.h |
Revision | | Date | Author | Comments |
1.34 |
| 13-Feb-2022 |
riastradh | sparc: __cpu_simple_lock membar audit.
No functional change -- comments only, to justify the absence of barriers with reference to chapter & verse.
|
1.33 |
| 29-Nov-2019 |
riastradh | Nix mb_* on sparc and sparc64.
|
1.32 |
| 17-Sep-2017 |
christos | branches: 1.32.4; more const.
|
1.31 |
| 28-Apr-2008 |
martin | branches: 1.31.44; Remove clause 3 and 4 from TNF licenses
|
1.30 |
| 17-Oct-2007 |
garbled | branches: 1.30.16; 1.30.18; 1.30.20; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.29 |
| 10-Sep-2007 |
skrll | Merge nick-csl-alignment.
|
1.28 |
| 17-Feb-2007 |
ad | branches: 1.28.4; 1.28.12; 1.28.16; 1.28.20; 1.28.22; Put a sock in it..
|
1.27 |
| 16-Feb-2007 |
ad | branches: 1.27.2; Pacify lint.
|
1.26 |
| 15-Feb-2007 |
ad | Pacify lint/gcc.
|
1.25 |
| 11-Feb-2007 |
ad | inline -> __inline
|
1.24 |
| 09-Feb-2007 |
ad | Merge newlock2 to head.
|
1.23 |
| 04-Mar-2006 |
uwe | branches: 1.23.14; De-__P.
|
1.22 |
| 28-Dec-2005 |
perry | branches: 1.22.4; 1.22.6; inline -> __inline
|
1.21 |
| 24-Dec-2005 |
perry | __asm__ -> __asm __const__ -> const __inline__ -> inline __volatile__ -> volatile
|
1.20 |
| 24-Dec-2005 |
perry | Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.19 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.18 |
| 03-Feb-2005 |
chs | branches: 1.18.6; add the early-clobber modifier on the destination reg of ldstub. in some implementations (eg. sun4c), the hardware modifies the destination reg before checking for write permission on the memory location. without this change, gcc was using the same register for the address and the destination, so if the store part of the instruction faulted, the address was already gone when the instruction was retried after resolving the fault. part of PR 25633, PR 25896.
|
1.17 |
| 20-Apr-2004 |
pk | branches: 1.17.4; 1.17.6; Turn __CPU_SIMPLE_LOCK_INLINE into !__CPU_SIMPLE_LOCK_NOINLINE, so we don't screw up user land.
|
1.16 |
| 19-Apr-2004 |
pk | __cpu_simple_lock() isn't a pure function.
|
1.15 |
| 18-Apr-2004 |
pk | Make inlining __cpu_simple_lock() optional. Add a version with a built-in spin out counter that panics with a diagnostic.
|
1.14 |
| 26-Dec-2003 |
mrg | branches: 1.14.2; convert __ldstub() from a ({}) macro into a properly static inline function. the latter is not valid for C++ so says GCC3.
|
1.13 |
| 16-Nov-2003 |
pk | __cpu_simple_unlock: use __insn_barrier() instead of a "memory" clobber.
|
1.12 |
| 09-Nov-2003 |
pk | __cpu_simple_unlock: avoid instruction re-ordering by the compiler.
|
1.11 |
| 26-Sep-2003 |
nathanw | Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h so that they can be used in a namespace-friendly way.
|
1.10 |
| 05-May-2000 |
hannken | branches: 1.10.16; 1.10.28; Fix for lint during build of libc.
|
1.9 |
| 02-May-2000 |
thorpej | 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.8 |
| 30-Apr-2000 |
pk | FIx declaration in __ldstub.
|
1.7 |
| 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.6 |
| 27-Jul-1999 |
thorpej | branches: 1.6.2; Make a slight rearrangement in how <machine/lock.h> is included.
|
1.5 |
| 27-Jul-1999 |
thorpej | Define apporpriate an value for SIMPLELOCK_LOCKED, based on the semantics of ldstub.
|
1.4 |
| 27-Jul-1999 |
thorpej | Prepend `cpu_' to the machine-dependent atomic locking primitivies.
|
1.3 |
| 04-Nov-1998 |
chs | branches: 1.3.8; LOCKDEBUG enhancements for non-MP: keep a list of locked locks. use this to print where the lock was locked when we either go to sleep with a lock held or try to free a locked lock.
|
1.2 |
| 05-Oct-1998 |
pk | If a lock is held do not spin in a read/write loop but just read the lock until it is released. This is easier on the bus cache coherency logic.
|
1.1 |
| 27-Sep-1998 |
pk | sparc spin lock functions.
|
1.3.8.1 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.6.2.1 |
| 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.10.28.4 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.10.28.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.10.28.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.10.28.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.10.16.1 |
| 19-Mar-2002 |
thorpej | Change __cpu_simple_lock_t to a single byte.
|
1.14.2.2 |
| 16-Mar-2005 |
tron | Pull up revision 1.18 (requested by chs in ticket #1159): add the early-clobber modifier on the destination reg of ldstub. in some implementations (eg. sun4c), the hardware modifies the destination reg before checking for write permission on the memory location. without this change, gcc was using the same register for the address and the destination, so if the store part of the instruction faulted, the address was already gone when the instruction was retried after resolving the fault. part of PR 25633, PR 25896.
|
1.14.2.1 |
| 24-Apr-2004 |
jdc | branches: 1.14.2.1.2; Pull up revisions 1.15-1.17 (requested by pk in ticket #179)
Many fixes for issues with sparc multi-processor support (includes fixes to make HyperSPARC MP work).
|
1.14.2.1.2.1 |
| 16-Mar-2005 |
tron | Pull up revision 1.18 (requested by chs in ticket #1159): add the early-clobber modifier on the destination reg of ldstub. in some implementations (eg. sun4c), the hardware modifies the destination reg before checking for write permission on the memory location. without this change, gcc was using the same register for the address and the destination, so if the store part of the instruction faulted, the address was already gone when the instruction was retried after resolving the fault. part of PR 25633, PR 25896.
|
1.17.6.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.17.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.18.6.3 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.18.6.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.18.6.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.22.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.22.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.23.14.3 |
| 06-Feb-2007 |
ad | Test for the presence of 'membar' by checking for __sparc_v9__.
|
1.23.14.2 |
| 12-Jan-2007 |
ad | Make sparc64 build again.
|
1.23.14.1 |
| 12-Jan-2007 |
ad | sparc MD changes.
|
1.27.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.28.22.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.28.20.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.28.16.1 |
| 15-Aug-2007 |
skrll | Provide __SIMPLELOCK_{UN,}LOCKED_P and __cpu_simple_lock_{set,clear} for all architectures.
|
1.28.12.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.28.4.1 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.30.20.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.30.18.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.30.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.31.44.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.32.4.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|