Module Name: src
Committed By: martin
Date: Fri Feb 21 15:52:53 UTC 2014
Modified Files:
src/sys/sys: atomic.h
Log Message:
Declare 16 and 8 bit atomic CAS - while it is not usually sane to expect
these functions to work in MI code, we need them to provide some of the
__sync_* functions gcc and other compilers expect nowadays on some
architectures.
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/sys/atomic.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/sys/atomic.h
diff -u src/sys/sys/atomic.h:1.11 src/sys/sys/atomic.h:1.12
--- src/sys/sys/atomic.h:1.11 Fri Nov 20 02:17:07 2009
+++ src/sys/sys/atomic.h Fri Feb 21 15:52:53 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic.h,v 1.11 2009/11/20 02:17:07 christos Exp $ */
+/* $NetBSD: atomic.h,v 1.12 2014/02/21 15:52:53 martin Exp $ */
/*-
* Copyright (c) 2007, 2008 The NetBSD Foundation, Inc.
@@ -91,6 +91,13 @@ void * atomic_cas_ptr(volatile void *,
uint64_t atomic_cas_64(volatile uint64_t *, uint64_t, uint64_t);
/*
+ * This operations will be provided for userland, but may not be
+ * implemented efficiently.
+ */
+uint16_t atomic_cas_16(volatile uint16_t *, uint16_t, uint16_t);
+uint8_t atomic_cas_8(volatile uint8_t *, uint8_t, uint8_t);
+
+/*
* Non-interlocked atomic COMPARE-AND-SWAP.
*/
uint32_t atomic_cas_32_ni(volatile uint32_t *, uint32_t, uint32_t);