atomic.h (178057) | atomic.h (185162) |
---|---|
1/*- 2 * Copyright (c) 2008 Marcel Moolenaar 3 * Copyright (c) 2001 Benno Rice 4 * Copyright (c) 2001 David E. O'Brien 5 * Copyright (c) 1998 Doug Rabson 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * | 1/*- 2 * Copyright (c) 2008 Marcel Moolenaar 3 * Copyright (c) 2001 Benno Rice 4 * Copyright (c) 2001 David E. O'Brien 5 * Copyright (c) 1998 Doug Rabson 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * |
29 * $FreeBSD: head/sys/powerpc/include/atomic.h 178057 2008-04-10 02:37:26Z marcel $ | 29 * $FreeBSD: head/sys/powerpc/include/atomic.h 185162 2008-11-22 05:55:56Z kmacy $ |
30 */ 31 32#ifndef _MACHINE_ATOMIC_H_ 33#define _MACHINE_ATOMIC_H_ 34 35#ifndef _SYS_CDEFS_H_ 36#error this file needs sys/cdefs.h as a prerequisite 37#endif 38 39#define __ATOMIC_BARRIER \ 40 __asm __volatile("sync" : : : "memory") 41 | 30 */ 31 32#ifndef _MACHINE_ATOMIC_H_ 33#define _MACHINE_ATOMIC_H_ 34 35#ifndef _SYS_CDEFS_H_ 36#error this file needs sys/cdefs.h as a prerequisite 37#endif 38 39#define __ATOMIC_BARRIER \ 40 __asm __volatile("sync" : : : "memory") 41 |
42#define mb() __ATOMIC_BARRIER 43#define wmb() mb() 44#define rmb() mb() 45 |
|
42/* 43 * atomic_add(p, v) 44 * { *p += v; } 45 */ 46 47#define __ATOMIC_ADD_8(p, v, t) \ 48 8-bit atomic_add not implemented 49 --- 483 unchanged lines hidden --- | 46/* 47 * atomic_add(p, v) 48 * { *p += v; } 49 */ 50 51#define __ATOMIC_ADD_8(p, v, t) \ 52 8-bit atomic_add not implemented 53 --- 483 unchanged lines hidden --- |