head	1.5;
access;
symbols
	netbsd-11-0-RC5:1.5
	netbsd-11-0-RC4:1.5
	netbsd-11-0-RC3:1.5
	netbsd-11-0-RC2:1.5
	netbsd-11-0-RC1:1.5
	perseant-exfatfs-base-20250801:1.5
	netbsd-11:1.5.0.6
	netbsd-11-base:1.5
	netbsd-10-1-RELEASE:1.5
	perseant-exfatfs-base-20240630:1.5
	perseant-exfatfs:1.5.0.4
	perseant-exfatfs-base:1.5
	netbsd-8-3-RELEASE:1.3
	netbsd-9-4-RELEASE:1.3
	netbsd-10-0-RELEASE:1.5
	netbsd-10-0-RC6:1.5
	netbsd-10-0-RC5:1.5
	netbsd-10-0-RC4:1.5
	netbsd-10-0-RC3:1.5
	netbsd-10-0-RC2:1.5
	netbsd-10-0-RC1:1.5
	netbsd-10:1.5.0.2
	netbsd-10-base:1.5
	netbsd-9-3-RELEASE:1.3
	cjep_sun2x-base1:1.4
	cjep_sun2x:1.4.0.6
	cjep_sun2x-base:1.4
	cjep_staticlib_x-base1:1.4
	netbsd-9-2-RELEASE:1.3
	cjep_staticlib_x:1.4.0.4
	cjep_staticlib_x-base:1.4
	netbsd-9-1-RELEASE:1.3
	phil-wifi-20200421:1.4
	phil-wifi-20200411:1.4
	is-mlppp:1.4.0.2
	is-mlppp-base:1.4
	phil-wifi-20200406:1.4
	netbsd-8-2-RELEASE:1.3
	netbsd-9-0-RELEASE:1.3
	netbsd-9-0-RC2:1.3
	netbsd-9-0-RC1:1.3
	phil-wifi-20191119:1.3
	netbsd-9:1.3.0.16
	netbsd-9-base:1.3
	phil-wifi-20190609:1.3
	netbsd-8-1-RELEASE:1.3
	netbsd-8-1-RC1:1.3
	pgoyette-compat-merge-20190127:1.3
	pgoyette-compat-20190127:1.3
	pgoyette-compat-20190118:1.3
	pgoyette-compat-1226:1.3
	pgoyette-compat-1126:1.3
	pgoyette-compat-1020:1.3
	pgoyette-compat-0930:1.3
	pgoyette-compat-0906:1.3
	netbsd-7-2-RELEASE:1.2
	pgoyette-compat-0728:1.3
	netbsd-8-0-RELEASE:1.3
	phil-wifi:1.3.0.14
	phil-wifi-base:1.3
	pgoyette-compat-0625:1.3
	netbsd-8-0-RC2:1.3
	pgoyette-compat-0521:1.3
	pgoyette-compat-0502:1.3
	pgoyette-compat-0422:1.3
	netbsd-8-0-RC1:1.3
	pgoyette-compat-0415:1.3
	pgoyette-compat-0407:1.3
	pgoyette-compat-0330:1.3
	pgoyette-compat-0322:1.3
	pgoyette-compat-0315:1.3
	netbsd-7-1-2-RELEASE:1.2
	pgoyette-compat:1.3.0.12
	pgoyette-compat-base:1.3
	netbsd-7-1-1-RELEASE:1.2
	matt-nb8-mediatek:1.3.0.10
	matt-nb8-mediatek-base:1.3
	perseant-stdc-iso10646:1.3.0.8
	perseant-stdc-iso10646-base:1.3
	netbsd-8:1.3.0.6
	netbsd-8-base:1.3
	prg-localcount2-base3:1.3
	prg-localcount2-base2:1.3
	prg-localcount2-base1:1.3
	prg-localcount2:1.3.0.4
	prg-localcount2-base:1.3
	pgoyette-localcount-20170426:1.3
	bouyer-socketcan-base1:1.3
	pgoyette-localcount-20170320:1.3
	netbsd-7-1:1.2.0.32
	netbsd-7-1-RELEASE:1.2
	netbsd-7-1-RC2:1.2
	netbsd-7-nhusb-base-20170116:1.2
	bouyer-socketcan:1.3.0.2
	bouyer-socketcan-base:1.3
	pgoyette-localcount-20170107:1.3
	netbsd-7-1-RC1:1.2
	pgoyette-localcount-20161104:1.3
	netbsd-7-0-2-RELEASE:1.2
	localcount-20160914:1.3
	netbsd-7-nhusb:1.2.0.30
	netbsd-7-nhusb-base:1.2
	pgoyette-localcount-20160806:1.2
	pgoyette-localcount-20160726:1.2
	pgoyette-localcount:1.2.0.28
	pgoyette-localcount-base:1.2
	netbsd-7-0-1-RELEASE:1.2
	netbsd-7-0:1.2.0.26
	netbsd-7-0-RELEASE:1.2
	netbsd-7-0-RC3:1.2
	netbsd-7-0-RC2:1.2
	netbsd-7-0-RC1:1.2
	netbsd-5-2-3-RELEASE:1.1
	netbsd-5-1-5-RELEASE:1.1
	netbsd-6-0-6-RELEASE:1.2
	netbsd-6-1-5-RELEASE:1.2
	netbsd-7:1.2.0.24
	netbsd-7-base:1.2
	yamt-pagecache-base9:1.2
	yamt-pagecache-tag8:1.2
	netbsd-6-1-4-RELEASE:1.2
	netbsd-6-0-5-RELEASE:1.2
	tls-earlyentropy:1.2.0.22
	tls-earlyentropy-base:1.2
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2
	riastradh-drm2-base3:1.2
	netbsd-6-1-3-RELEASE:1.2
	netbsd-6-0-4-RELEASE:1.2
	netbsd-5-2-2-RELEASE:1.1
	netbsd-5-1-4-RELEASE:1.1
	netbsd-6-1-2-RELEASE:1.2
	netbsd-6-0-3-RELEASE:1.2
	netbsd-5-2-1-RELEASE:1.1
	netbsd-5-1-3-RELEASE:1.1
	netbsd-6-1-1-RELEASE:1.2
	riastradh-drm2-base2:1.2
	riastradh-drm2-base1:1.2
	riastradh-drm2:1.2.0.16
	riastradh-drm2-base:1.2
	netbsd-6-1:1.2.0.20
	netbsd-6-0-2-RELEASE:1.2
	netbsd-6-1-RELEASE:1.2
	netbsd-6-1-RC4:1.2
	netbsd-6-1-RC3:1.2
	agc-symver:1.2.0.18
	agc-symver-base:1.2
	netbsd-6-1-RC2:1.2
	netbsd-6-1-RC1:1.2
	yamt-pagecache-base8:1.2
	netbsd-5-2:1.1.0.4
	netbsd-6-0-1-RELEASE:1.2
	yamt-pagecache-base7:1.2
	netbsd-5-2-RELEASE:1.1
	netbsd-5-2-RC1:1.1
	matt-nb6-plus-nbase:1.2
	yamt-pagecache-base6:1.2
	netbsd-6-0:1.2.0.14
	netbsd-6-0-RELEASE:1.2
	netbsd-6-0-RC2:1.2
	tls-maxphys:1.2.0.12
	tls-maxphys-base:1.2
	matt-nb6-plus:1.2.0.10
	matt-nb6-plus-base:1.2
	netbsd-6-0-RC1:1.2
	yamt-pagecache-base5:1.2
	yamt-pagecache-base4:1.2
	netbsd-6:1.2.0.8
	netbsd-6-base:1.2
	netbsd-5-1-2-RELEASE:1.1
	netbsd-5-1-1-RELEASE:1.1
	yamt-pagecache-base3:1.2
	yamt-pagecache-base2:1.2
	yamt-pagecache:1.2.0.6
	yamt-pagecache-base:1.2
	cherry-xenmp:1.2.0.4
	cherry-xenmp-base:1.2
	bouyer-quota2-nbase:1.2
	bouyer-quota2:1.2.0.2
	bouyer-quota2-base:1.2
	matt-mips64-premerge-20101231:1.2
	matt-nb5-mips64-premerge-20101231:1.1
	matt-nb5-pq3:1.1.0.18
	matt-nb5-pq3-base:1.1
	netbsd-5-1:1.1.0.16
	netbsd-5-1-RELEASE:1.1
	netbsd-5-1-RC4:1.1
	matt-nb5-mips64-k15:1.1
	netbsd-5-1-RC3:1.1
	netbsd-5-1-RC2:1.1
	netbsd-5-1-RC1:1.1
	netbsd-5-0-2-RELEASE:1.1
	matt-nb5-mips64-premerge-20091211:1.1
	matt-premerge-20091211:1.1
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.1
	matt-nb4-mips64-k7-u2a-k9b:1.1
	matt-nb5-mips64-u1-k1-k5:1.1
	matt-nb5-mips64:1.1.0.14
	netbsd-5-0-1-RELEASE:1.1
	jym-xensuspend-nbase:1.1
	netbsd-5-0:1.1.0.12
	netbsd-5-0-RELEASE:1.1
	netbsd-5-0-RC4:1.1
	netbsd-5-0-RC3:1.1
	netbsd-5-0-RC2:1.1
	jym-xensuspend:1.1.0.10
	jym-xensuspend-base:1.1
	netbsd-5-0-RC1:1.1
	christos-time_t-nbase:1.1
	christos-time_t:1.1.0.8
	christos-time_t-base:1.1
	netbsd-5:1.1.0.6
	netbsd-5-base:1.1
	matt-mips64-base2:1.1
	wrstuden-revivesa-base-3:1.1
	wrstuden-revivesa:1.1.0.2
	wrstuden-revivesa-base-2:1.1;
locks; strict;
comment	@# @;


1.5
date	2022.04.09.23.32.52;	author riastradh;	state Exp;
branches;
next	1.4;
commitid	UyceagNvCmubaAzD;

1.4
date	2019.12.07.15.13.59;	author riastradh;	state Exp;
branches;
next	1.3;
commitid	f91dOTvJvAqEQMNB;

1.3
date	2016.08.27.08.03.13;	author dholland;	state Exp;
branches
	1.3.14.1;
next	1.2;
commitid	jk1dcRPeQthlWUjz;

1.2
date	2010.02.12.22.34.38;	author dyoung;	state Exp;
branches;
next	1.1;

1.1
date	2008.06.23.10.22.40;	author ad;	state Exp;
branches
	1.1.2.1
	1.1.8.1;
next	;

1.3.14.1
date	2020.04.08.14.07.12;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;

1.1.2.1
date	2008.06.23.10.22.40;	author wrstuden;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2008.09.18.04.39.20;	author wrstuden;	state Exp;
branches;
next	;

1.1.8.1
date	2008.06.23.10.22.40;	author ad;	state dead;
branches;
next	1.1.8.2;

1.1.8.2
date	2008.06.23.10.22.41;	author ad;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Introduce membar_acquire/release.  Deprecate membar_enter/exit.

The names membar_enter/exit were unclear, and the documentation of
membar_enter has disagreed with the implementations on sparc,
powerpc, and even x86(!) for the entire time it has been in NetBSD.

The terms `acquire' and `release' are ubiquitous in the literature
today, and have been adopted in the C and C++ standards to mean
load-before-load/store and load/store-before-store, respectively,
which are exactly the orderings required by acquiring and releasing a
mutex, as well as other useful applications like decrementing a
reference count and then freeing the underlying object if it went to
zero.

Originally I proposed changing one word in the documentation for
membar_enter to make it load-before-load/store instead of
store-before-load/store, i.e., to make it an acquire barrier.  I
proposed this on the grounds that

(a) all implementations guarantee load-before-load/store,
(b) some implementations fail to guarantee store-before-load/store,
and
(c) all uses in-tree assume load-before-load/store.

I verified parts (a) and (b) (except, for (a), powerpc didn't even
guarantee load-before-load/store -- isync isn't necessarily enough;
need lwsync in general -- but it _almost_ did, and it certainly didn't
guarantee store-before-load/store).

Part (c) might not be correct, however: under the mistaken assumption
that atomic-r/m/w then membar-w/rw is equivalent to atomic-r/m/w then
membar-r/rw, I only audited the cases of membar_enter that _aren't_
immediately after an atomic-r/m/w.  All of those cases assume
load-before-load/store.  But my assumption was wrong -- there are
cases of atomic-r/m/w then membar-w/rw that would be broken by
changing to atomic-r/m/w then membar-r/rw:

https://mail-index.netbsd.org/tech-kern/2022/03/29/msg028044.html

Furthermore, the name membar_enter has been adopted in other places
like OpenBSD where it actually does follow the documentation and
guarantee store-before-load/store, even if that order is not useful.
So the name membar_enter currently lives in a bad place where it
means either of two things -- r/rw or w/rw.

With this change, we deprecate membar_enter/exit, introduce
membar_acquire/release as better names for the useful pair (r/rw and
rw/w), and make sure the implementation of membar_enter guarantees
both what was documented _and_ what was implemented, making it an
alias for membar_sync.

While here, rework all of the membar_* definitions and aliases.  The
new logic follows a rule to make it easier to audit:

	membar_X is defined as an alias for membar_Y iff membar_X is
	guaranteed by membar_Y.

The `no stronger than' relation is (the transitive closure of):

- membar_consumer (r/r) is guaranteed by membar_acquire (r/rw)
- membar_producer (w/w) is guaranteed by membar_release (rw/w)
- membar_acquire (r/rw) is guaranteed by membar_sync (rw/rw)
- membar_release (rw/w) is guaranteed by membar_sync (rw/rw)

And, for the deprecated membars:

- membar_enter (whether r/rw, w/rw, or rw/rw) is guaranteed by
  membar_sync (rw/rw)
- membar_exit (rw/w) is guaranteed by membar_release (rw/w)

(membar_exit is identical to membar_release, but the name is
deprecated.)

Finally, while here, annotate some of the instructions with their
semantics.  For powerpc, leave an essay with citations on the
unfortunate but -- as far as I can tell -- necessary decision to use
lwsync, not isync, for membar_acquire and membar_consumer.

Also add membar(3) and atomic(3) man page links.
@
text
@#	$NetBSD: Makefile.inc,v 1.4 2019/12/07 15:13:59 riastradh Exp $
#	from: @@(#)Makefile.inc	8.6 (Berkeley) 5/4/95

# gen sources
.PATH:	${.CURDIR}/atomic

MAN+=	atomic_add.3 atomic_and.3 atomic_cas.3 atomic_dec.3 \
	atomic_inc.3 atomic_ops.3 atomic_or.3 atomic_swap.3 \
	membar_ops.3

MLINKS+=atomic_add.3 atomic_add_32.3 \
	atomic_add.3 atomic_add_int.3 \
	atomic_add.3 atomic_add_long.3 \
	atomic_add.3 atomic_add_ptr.3 \
	atomic_add.3 atomic_add_64.3 \
	atomic_add.3 atomic_add_32_nv.3 \
	atomic_add.3 atomic_add_int_nv.3 \
	atomic_add.3 atomic_add_long_nv.3 \
	atomic_add.3 atomic_add_ptr_nv.3 \
	atomic_add.3 atomic_add_64_nv.3 \
	atomic_add.3 atomic_add_nv.3 \
	atomic_and.3 atomic_and_32.3 \
	atomic_and.3 atomic_and_uint.3 \
	atomic_and.3 atomic_and_ulong.3 \
	atomic_and.3 atomic_and_64.3 \
	atomic_and.3 atomic_and_32_nv.3 \
	atomic_and.3 atomic_and_uint_nv.3 \
	atomic_and.3 atomic_and_ulong_nv.3 \
	atomic_and.3 atomic_and_64_nv.3 \
	atomic_and.3 atomic_and_nv.3 \
	atomic_cas.3 atomic_cas_32.3 \
	atomic_cas.3 atomic_cas_uint.3 \
	atomic_cas.3 atomic_cas_ulong.3 \
	atomic_cas.3 atomic_cas_ptr.3 \
	atomic_cas.3 atomic_cas_64.3 \
	atomic_cas.3 atomic_cas_32_ni.3 \
	atomic_cas.3 atomic_cas_uint_ni.3 \
	atomic_cas.3 atomic_cas_ulong_ni.3 \
	atomic_cas.3 atomic_cas_ptr_ni.3 \
	atomic_cas.3 atomic_cas_64_ni.3 \
	atomic_cas.3 atomic_cas_ni.3 \
	atomic_dec.3 atomic_dec_32.3 \
	atomic_dec.3 atomic_dec_uint.3 \
	atomic_dec.3 atomic_dec_ulong.3 \
	atomic_dec.3 atomic_dec_ptr.3 \
	atomic_dec.3 atomic_dec_64.3 \
	atomic_dec.3 atomic_dec_32_nv.3 \
	atomic_dec.3 atomic_dec_uint_nv.3 \
	atomic_dec.3 atomic_dec_ulong_nv.3 \
	atomic_dec.3 atomic_dec_ptr_nv.3 \
	atomic_dec.3 atomic_dec_64_nv.3 \
	atomic_dec.3 atomic_dec_nv.3 \
	atomic_inc.3 atomic_inc_32.3 \
	atomic_inc.3 atomic_inc_uint.3 \
	atomic_inc.3 atomic_inc_ulong.3 \
	atomic_inc.3 atomic_inc_ptr.3 \
	atomic_inc.3 atomic_inc_64.3 \
	atomic_inc.3 atomic_inc_32_nv.3 \
	atomic_inc.3 atomic_inc_uint_nv.3 \
	atomic_inc.3 atomic_inc_ulong_nv.3 \
	atomic_inc.3 atomic_inc_ptr_nv.3 \
	atomic_inc.3 atomic_inc_64_nv.3 \
	atomic_inc.3 atomic_inc_nv.3 \
	atomic_or.3 atomic_or_32.3 \
	atomic_or.3 atomic_or_uint.3 \
	atomic_or.3 atomic_or_ulong.3 \
	atomic_or.3 atomic_or_64.3 \
	atomic_or.3 atomic_or_32_nv.3 \
	atomic_or.3 atomic_or_uint_nv.3 \
	atomic_or.3 atomic_or_ulong_nv.3 \
	atomic_or.3 atomic_or_64_nv.3 \
	atomic_or.3 atomic_or_nv.3 \
	atomic_swap.3 atomic_swap_32.3 \
	atomic_swap.3 atomic_swap_uint.3 \
	atomic_swap.3 atomic_swap_ulong.3 \
	atomic_swap.3 atomic_swap_ptr.3 \
	atomic_swap.3 atomic_swap_64.3 \
	atomic_ops.3 atomic.3 \
	membar_ops.3 membar.3 \
	membar_ops.3 membar_acquire.3 \
	membar_ops.3 membar_release.3 \
	membar_ops.3 membar_enter.3 \
	membar_ops.3 membar_exit.3 \
	membar_ops.3 membar_producer.3 \
	membar_ops.3 membar_consumer.3 \
	membar_ops.3 membar_datadep_consumer.3 \
	membar_ops.3 membar_sync.3
@


1.4
log
@Add missing MLINK for membar_datadep_consumer(3).

Detected by the indefatigable wizd.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.3 2016/08/27 08:03:13 dholland Exp $
d78 4
@


1.3
log
@Add MLINKS for atomic_add_nv, atomic_cas_ni, and so forth - otherwise
you have to remember that they're the same page as plain atomic_add and
atomic_cas, or remember one of the types that they're defined on.
PR 51033.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.2 2010/02/12 22:34:38 dyoung Exp $
d82 1
@


1.3.14.1
log
@Merge changes from current as of 20200406
@
text
@d1 1
a1 1
#	$NetBSD$
a81 1
	membar_ops.3 membar_datadep_consumer.3 \
@


1.2
log
@Link atomic_cas.3 to atomic_cas_{32,64,ptr,uint,ulong}_ni.3.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.1 2008/06/23 10:22:40 ad Exp $
d21 1
d30 1
d41 1
d52 1
d63 1
d72 1
@


1.1
log
@Install manual pages for the atomic ops.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.inc,v 1.161 2008/06/17 00:10:54 he Exp $
d34 5
@


1.1.8.1
log
@file Makefile.inc was added on branch christos-time_t on 2008-06-23 10:22:41 +0000
@
text
@d1 71
@


1.1.8.2
log
@Install manual pages for the atomic ops.
@
text
@a0 71
#	$NetBSD: Makefile.inc,v 1.1 2008/06/23 10:22:40 ad Exp $
#	from: @@(#)Makefile.inc	8.6 (Berkeley) 5/4/95

# gen sources
.PATH:	${.CURDIR}/atomic

MAN+=	atomic_add.3 atomic_and.3 atomic_cas.3 atomic_dec.3 \
	atomic_inc.3 atomic_ops.3 atomic_or.3 atomic_swap.3 \
	membar_ops.3

MLINKS+=atomic_add.3 atomic_add_32.3 \
	atomic_add.3 atomic_add_int.3 \
	atomic_add.3 atomic_add_long.3 \
	atomic_add.3 atomic_add_ptr.3 \
	atomic_add.3 atomic_add_64.3 \
	atomic_add.3 atomic_add_32_nv.3 \
	atomic_add.3 atomic_add_int_nv.3 \
	atomic_add.3 atomic_add_long_nv.3 \
	atomic_add.3 atomic_add_ptr_nv.3 \
	atomic_add.3 atomic_add_64_nv.3 \
	atomic_and.3 atomic_and_32.3 \
	atomic_and.3 atomic_and_uint.3 \
	atomic_and.3 atomic_and_ulong.3 \
	atomic_and.3 atomic_and_64.3 \
	atomic_and.3 atomic_and_32_nv.3 \
	atomic_and.3 atomic_and_uint_nv.3 \
	atomic_and.3 atomic_and_ulong_nv.3 \
	atomic_and.3 atomic_and_64_nv.3 \
	atomic_cas.3 atomic_cas_32.3 \
	atomic_cas.3 atomic_cas_uint.3 \
	atomic_cas.3 atomic_cas_ulong.3 \
	atomic_cas.3 atomic_cas_ptr.3 \
	atomic_cas.3 atomic_cas_64.3 \
	atomic_dec.3 atomic_dec_32.3 \
	atomic_dec.3 atomic_dec_uint.3 \
	atomic_dec.3 atomic_dec_ulong.3 \
	atomic_dec.3 atomic_dec_ptr.3 \
	atomic_dec.3 atomic_dec_64.3 \
	atomic_dec.3 atomic_dec_32_nv.3 \
	atomic_dec.3 atomic_dec_uint_nv.3 \
	atomic_dec.3 atomic_dec_ulong_nv.3 \
	atomic_dec.3 atomic_dec_ptr_nv.3 \
	atomic_dec.3 atomic_dec_64_nv.3 \
	atomic_inc.3 atomic_inc_32.3 \
	atomic_inc.3 atomic_inc_uint.3 \
	atomic_inc.3 atomic_inc_ulong.3 \
	atomic_inc.3 atomic_inc_ptr.3 \
	atomic_inc.3 atomic_inc_64.3 \
	atomic_inc.3 atomic_inc_32_nv.3 \
	atomic_inc.3 atomic_inc_uint_nv.3 \
	atomic_inc.3 atomic_inc_ulong_nv.3 \
	atomic_inc.3 atomic_inc_ptr_nv.3 \
	atomic_inc.3 atomic_inc_64_nv.3 \
	atomic_or.3 atomic_or_32.3 \
	atomic_or.3 atomic_or_uint.3 \
	atomic_or.3 atomic_or_ulong.3 \
	atomic_or.3 atomic_or_64.3 \
	atomic_or.3 atomic_or_32_nv.3 \
	atomic_or.3 atomic_or_uint_nv.3 \
	atomic_or.3 atomic_or_ulong_nv.3 \
	atomic_or.3 atomic_or_64_nv.3 \
	atomic_swap.3 atomic_swap_32.3 \
	atomic_swap.3 atomic_swap_uint.3 \
	atomic_swap.3 atomic_swap_ulong.3 \
	atomic_swap.3 atomic_swap_ptr.3 \
	atomic_swap.3 atomic_swap_64.3 \
	membar_ops.3 membar_enter.3 \
	membar_ops.3 membar_exit.3 \
	membar_ops.3 membar_producer.3 \
	membar_ops.3 membar_consumer.3 \
	membar_ops.3 membar_sync.3
@


1.1.2.1
log
@file Makefile.inc was added on branch wrstuden-revivesa on 2008-09-18 04:39:20 +0000
@
text
@d1 71
@


1.1.2.2
log
@Sync with wrstuden-revivesa-base-2.
@
text
@a0 71
#	$NetBSD: Makefile.inc,v 1.1 2008/06/23 10:22:40 ad Exp $
#	from: @@(#)Makefile.inc	8.6 (Berkeley) 5/4/95

# gen sources
.PATH:	${.CURDIR}/atomic

MAN+=	atomic_add.3 atomic_and.3 atomic_cas.3 atomic_dec.3 \
	atomic_inc.3 atomic_ops.3 atomic_or.3 atomic_swap.3 \
	membar_ops.3

MLINKS+=atomic_add.3 atomic_add_32.3 \
	atomic_add.3 atomic_add_int.3 \
	atomic_add.3 atomic_add_long.3 \
	atomic_add.3 atomic_add_ptr.3 \
	atomic_add.3 atomic_add_64.3 \
	atomic_add.3 atomic_add_32_nv.3 \
	atomic_add.3 atomic_add_int_nv.3 \
	atomic_add.3 atomic_add_long_nv.3 \
	atomic_add.3 atomic_add_ptr_nv.3 \
	atomic_add.3 atomic_add_64_nv.3 \
	atomic_and.3 atomic_and_32.3 \
	atomic_and.3 atomic_and_uint.3 \
	atomic_and.3 atomic_and_ulong.3 \
	atomic_and.3 atomic_and_64.3 \
	atomic_and.3 atomic_and_32_nv.3 \
	atomic_and.3 atomic_and_uint_nv.3 \
	atomic_and.3 atomic_and_ulong_nv.3 \
	atomic_and.3 atomic_and_64_nv.3 \
	atomic_cas.3 atomic_cas_32.3 \
	atomic_cas.3 atomic_cas_uint.3 \
	atomic_cas.3 atomic_cas_ulong.3 \
	atomic_cas.3 atomic_cas_ptr.3 \
	atomic_cas.3 atomic_cas_64.3 \
	atomic_dec.3 atomic_dec_32.3 \
	atomic_dec.3 atomic_dec_uint.3 \
	atomic_dec.3 atomic_dec_ulong.3 \
	atomic_dec.3 atomic_dec_ptr.3 \
	atomic_dec.3 atomic_dec_64.3 \
	atomic_dec.3 atomic_dec_32_nv.3 \
	atomic_dec.3 atomic_dec_uint_nv.3 \
	atomic_dec.3 atomic_dec_ulong_nv.3 \
	atomic_dec.3 atomic_dec_ptr_nv.3 \
	atomic_dec.3 atomic_dec_64_nv.3 \
	atomic_inc.3 atomic_inc_32.3 \
	atomic_inc.3 atomic_inc_uint.3 \
	atomic_inc.3 atomic_inc_ulong.3 \
	atomic_inc.3 atomic_inc_ptr.3 \
	atomic_inc.3 atomic_inc_64.3 \
	atomic_inc.3 atomic_inc_32_nv.3 \
	atomic_inc.3 atomic_inc_uint_nv.3 \
	atomic_inc.3 atomic_inc_ulong_nv.3 \
	atomic_inc.3 atomic_inc_ptr_nv.3 \
	atomic_inc.3 atomic_inc_64_nv.3 \
	atomic_or.3 atomic_or_32.3 \
	atomic_or.3 atomic_or_uint.3 \
	atomic_or.3 atomic_or_ulong.3 \
	atomic_or.3 atomic_or_64.3 \
	atomic_or.3 atomic_or_32_nv.3 \
	atomic_or.3 atomic_or_uint_nv.3 \
	atomic_or.3 atomic_or_ulong_nv.3 \
	atomic_or.3 atomic_or_64_nv.3 \
	atomic_swap.3 atomic_swap_32.3 \
	atomic_swap.3 atomic_swap_uint.3 \
	atomic_swap.3 atomic_swap_ulong.3 \
	atomic_swap.3 atomic_swap_ptr.3 \
	atomic_swap.3 atomic_swap_64.3 \
	membar_ops.3 membar_enter.3 \
	membar_ops.3 membar_exit.3 \
	membar_ops.3 membar_producer.3 \
	membar_ops.3 membar_consumer.3 \
	membar_ops.3 membar_sync.3
@
