History log of /src/sys/arch/sh3/include/lock.h |
Revision | | Date | Author | Comments |
1.19 |
| 13-Feb-2022 |
riastradh | sh3: __cpu_simple_unlock needs __insn_barrier.
No multiprocessor support here but the compiler can still reorder memory access.
|
1.18 |
| 29-Nov-2019 |
riastradh | Nix mb_* on sh3.
|
1.17 |
| 17-Sep-2017 |
christos | branches: 1.17.4; more const.
|
1.16 |
| 13-Oct-2009 |
uwe | branches: 1.16.22; Fix inline asm for tas.b. "=m" is not restrictive enough and gcc may decide to use addressing modes that tas.b does not support. 'V' is advertised to be "non-offsettable" subset of 'm' but there's a bug in gcc that prevents "=V" from working.
When in doubt use brute force, so pass lock pointer as "r" input and declare "memory" as clobbered.
Landisk kernel diff is 5 instructions (register choice for lock address in __cpu_simple_lock_try).
sys/dev/raidframe/rf_copyback.c - where old __asm triggered incorrect code - successfully compiles (as part of sys/rump/dev/lib/libraidframe).
|
1.15 |
| 28-Apr-2008 |
martin | Remove clause 3 and 4 from TNF licenses
|
1.14 |
| 17-Oct-2007 |
garbled | branches: 1.14.16; 1.14.18; 1.14.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.13 |
| 10-Sep-2007 |
skrll | Merge nick-csl-alignment.
|
1.12 |
| 12-Mar-2007 |
uwe | branches: 1.12.8; 1.12.12; 1.12.16; 1.12.18; Note in that TAS.B in inline asm clobbers "cc". Use MOVT instead of clear+rotate with carry in __cpu_simple_lock_try.
|
1.11 |
| 09-Feb-2007 |
ad | branches: 1.11.2; 1.11.6; Merge newlock2 to head.
|
1.10 |
| 03-Jan-2006 |
uwe | branches: 1.10.18; Nuke __P.
|
1.9 |
| 28-Dec-2005 |
perry | branches: 1.9.2; inline -> __inline
|
1.8 |
| 24-Dec-2005 |
perry | Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.7 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.6 |
| 26-Sep-2003 |
nathanw | branches: 1.6.16; 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.5 |
| 14-Feb-2003 |
itohy | branches: 1.5.2; - Change __cpu_simple_lock_t from int to unsigned char. This makes simple lock work on big-endian platforms. - Assembly-level optimization of __cpu_simple_lock_try().
OK'd by Gregory McGarry. Closes PR port-sh3/20311.
|
1.4 |
| 16-Sep-2002 |
gmcgarry | Implement CPU spinlocks. Compile-tested only.
|
1.3 |
| 17-Mar-2002 |
uch | branches: 1.3.8; cosmetic changes, fix comments.
|
1.2 |
| 02-May-2000 |
thorpej | branches: 1.2.6; 1.2.10; 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.1 |
| 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.2.10.2 |
| 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
|
1.2.10.1 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.2.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.2.6.1 |
| 02-May-2000 |
bouyer | file lock.h was added on branch thorpej_scsipi on 2000-11-20 20:24:30 +0000
|
1.3.8.2 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.3.8.1 |
| 17-Mar-2002 |
nathanw | file lock.h was added on branch nathanw_sa on 2002-09-17 21:17:25 +0000
|
1.5.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.5.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.5.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.16.4 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.6.16.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.6.16.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.6.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.9.2.1 |
| 15-Jan-2006 |
yamt | sync with head.
|
1.10.18.1 |
| 01-Feb-2007 |
ad | Get sh3 compiling.
|
1.11.6.2 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.11.6.1 |
| 13-Mar-2007 |
ad | Sync with head.
|
1.11.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.12.18.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.12.16.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.12.12.1 |
| 15-Aug-2007 |
skrll | Provide __SIMPLELOCK_{UN,}LOCKED_P and __cpu_simple_lock_{set,clear} for all architectures.
|
1.12.8.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.14.20.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.14.20.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.14.18.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.14.16.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.16.22.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.17.4.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|