12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
24 */
25
26 .file "atomic.s"
27
28 #include <sys/asm_linkage.h>
29
30 #if defined(_KERNEL)
31 /*
32 * Legacy kernel interfaces; they will go away (eventually).
33 */
34 ANSI_PRAGMA_WEAK2(cas8,atomic_cas_8,function)
35 ANSI_PRAGMA_WEAK2(cas32,atomic_cas_32,function)
36 ANSI_PRAGMA_WEAK2(cas64,atomic_cas_64,function)
37 ANSI_PRAGMA_WEAK2(caslong,atomic_cas_ulong,function)
38 ANSI_PRAGMA_WEAK2(casptr,atomic_cas_ptr,function)
39 ANSI_PRAGMA_WEAK2(atomic_and_long,atomic_and_ulong,function)
40 ANSI_PRAGMA_WEAK2(atomic_or_long,atomic_or_ulong,function)
41 #endif
42
43 ENTRY(atomic_inc_8)
44 ALTENTRY(atomic_inc_uchar)
45 lock
46 incb (%rdi)
47 ret
48 SET_SIZE(atomic_inc_uchar)
49 SET_SIZE(atomic_inc_8)
50
51 ENTRY(atomic_inc_16)
52 ALTENTRY(atomic_inc_ushort)
|
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
24 */
25
26 .file "atomic.s"
27
28 #include <sys/asm_linkage.h>
29
30 #if defined(_KERNEL)
31 /*
32 * Legacy kernel interfaces; they will go away the moment our closed
33 * bins no longer require them.
34 */
35 ANSI_PRAGMA_WEAK2(cas8,atomic_cas_8,function)
36 ANSI_PRAGMA_WEAK2(cas32,atomic_cas_32,function)
37 ANSI_PRAGMA_WEAK2(cas64,atomic_cas_64,function)
38 ANSI_PRAGMA_WEAK2(caslong,atomic_cas_ulong,function)
39 ANSI_PRAGMA_WEAK2(casptr,atomic_cas_ptr,function)
40 ANSI_PRAGMA_WEAK2(atomic_and_long,atomic_and_ulong,function)
41 ANSI_PRAGMA_WEAK2(atomic_or_long,atomic_or_ulong,function)
42 #endif
43
44 ENTRY(atomic_inc_8)
45 ALTENTRY(atomic_inc_uchar)
46 lock
47 incb (%rdi)
48 ret
49 SET_SIZE(atomic_inc_uchar)
50 SET_SIZE(atomic_inc_8)
51
52 ENTRY(atomic_inc_16)
53 ALTENTRY(atomic_inc_ushort)
|