diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 1998-08-22 10:32:38 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 1998-08-22 10:32:38 +0000 |
| commit | b687821494985172838624aa852345ab68f94ac9 (patch) | |
| tree | 24c42ce1c742c135656a999464500cec8ab71f9e | |
| parent | 2b5cfb37f789927c0c1d024fc10fe0d4624faf1b (diff) | |
Notes
| -rw-r--r-- | sys/alpha/alpha/machdep.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c index ea7eb6fa2876..26b06d6add2d 100644 --- a/sys/alpha/alpha/machdep.c +++ b/sys/alpha/alpha/machdep.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: machdep.c,v 1.10 1998/07/30 08:10:26 dfr Exp $ + * $Id: machdep.c,v 1.11 1998/08/10 07:53:58 dfr Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -1801,19 +1801,3 @@ bad: return(-1); } - -void atomic_add(u_int32_t* p, u_int32_t v) -{ - u_int32_t temp; - __asm__ __volatile__ ( - "1:\tldl_l %0,%2\n\t" /* load counter value, asserting lock */ - "addl %3,%0,%0\n\t" /* add our bits */ - "stl_c %0,%1\n\t" /* attempt to store */ - "beq %0,2f\n\t" /* if the store failed, spin */ - "br 3f\n" /* it worked, exit */ - "2:\tbr 1b\n" /* *p not updated, loop */ - "3:\tmb\n" /* it worked */ - : "=&r"(temp), "=m" (*p) - : "m"(*p), "r"(v) - : "memory"); -} |
