The NetBSD Project

CVS log for src/sys/external/bsd/common/include/asm/barrier.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / external / bsd / common / include / asm

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.19 / (download) - annotate - [select for diffs], Tue Jul 19 21:30:40 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.18: +6 -1 lines
Diff to previous 1.18 (colored)

linux: Add alpha definitions of mb/wmb/rmb too for fun.

Who wants to plug an amdgpu into their alpha?

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jul 19 16:40:26 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

linux: Clarify error message in asm/barrier.h.  Not just for drm.

Revision 1.17 / (download) - annotate - [select for diffs], Tue Jul 19 16:38:39 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.16: +6 -1 lines
Diff to previous 1.16 (colored)

linux: Add mips definitions for mb, wmb, rmb.

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jul 19 16:38:22 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.15: +7 -5 lines
Diff to previous 1.15 (colored)

linux: Use dsb(sy/st/ld) from arm/cpufunc.h for mb/wmb/rmb.

Works on more Arm CPU types this way.  From skrll.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Jul 17 22:02:23 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.14: +5 -1 lines
Diff to previous 1.14 (colored)

drm: Fix missing barrier definitions on arm.

The definition will work on armv7; don't think we have any drmkms
drivers on armv<7.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jul 17 18:45:48 2022 UTC (6 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.13: +27 -4 lines
Diff to previous 1.13 (colored)

drm: Comment *mb() vs smp_*mb() and omit default for *mb().

In general membar_*() is _not_ enough for *mb(), because membar_*()
is only for CPU/CPU synchronization on normal memory, and *mb()
requires machine-dependent I/O logic.  Leave it as an `#error' case
if the architecture isn't listed here.  But membar_*() is OK for
smp_*().

Fill in powerpc and sparc while here, as examples of what the
now-removed defaults failed to do.  If you want to use drm on a mips
or alpha system yer gonna hafta fill this in yourself.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Apr 9 23:43:30 2022 UTC (9 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

linux: Convert various API shims to use membar_release/acquire.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Dec 27 10:41:57 2021 UTC (13 months ago) by riastradh
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

linux: Define mb/wmb/rmb as mfence/sfence/lfence on i386 too.

Not the same as membar_*; drm uses mb to order special instructions
like clflush which require mfence for ordering.

Revision 1.11 / (download) - annotate - [select for diffs], Sun Dec 19 12:25:20 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.10: +4 -4 lines
Diff to previous 1.10 (colored)

linux: For uniprocessor, define smp_*mb as __insn_barrier.

Otherwise ordering might not be guaranteed in the event of
preemption.

XXX pullup

Revision 1.10 / (download) - annotate - [select for diffs], Sun Dec 19 12:25:11 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.9: +1 -9 lines
Diff to previous 1.9 (colored)

linux: Eliminate read_barrier_depends, smp_read_barrier_depends.

These no longer exist in Linux; instead, Linux now uses READ_ONCE.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Dec 19 12:25:05 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.8: +6 -1 lines
Diff to previous 1.8 (colored)

linux: Define mb/wmb/rmb for x86.

These are _not_ SMP barriers; on Linux they specifically mean
mfence/sfence/lfence.  Although membar_sync and mb agree, and
membar_consumer and rmb agree, membar_producer and wmb _do not_ agree
on x86 -- Linux's wmb is specifically sfence, which is important only
for unusual memory types, whereas our membar_producer is limited to
ordinary memory.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Dec 19 11:02:54 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7 (colored)

Use adequate memory barrier for load-acquire semantics.

It is unfortunate that we chose the name membar_enter to have the
wrong semantics for this.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Dec 19 11:02:46 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.6: +9 -1 lines
Diff to previous 1.6 (colored)

Move smp_mb_before/after_atomic from linux/atomic.h to asm/barrier.h.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Dec 19 10:56:58 2021 UTC (13 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.5: +3 -1 lines
Diff to previous 1.5 (colored)

Side-load linux/compiler.h in asm/barrier.h.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Oct 16 22:39:21 2020 UTC (2 years, 3 months ago) by jmcneill
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.4: +10 -4 lines
Diff to previous 1.4 (colored)

Fix mb/wmb/rmb on aarch64 to use dsb instead of dmb.

Revision 1.3.6.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:44 2019 UTC (3 years, 7 months ago) by christos
Branch: phil-wifi
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Sync with HEAD

Revision 1.3.4.1 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:08 2018 UTC (4 years, 4 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.4 / (download) - annotate - [select for diffs], Tue Aug 28 15:04:58 2018 UTC (4 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, isaki-audio2-base, isaki-audio2, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.3: +3 -1 lines
Diff to previous 1.3 (colored)

For module build assume multiprocessor.

Revision 1.3.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:37:45 2017 UTC (5 years, 1 month ago) by jdolecek
Branch: tls-maxphys
Changes since 1.3.2.1: +63 -0 lines
Diff to previous 1.3.2.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

update from HEAD

Revision 1.3.2.1, Mon Sep 11 07:33:45 2017 UTC (5 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.3: +0 -63 lines
FILE REMOVED

file barrier.h was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000

Revision 1.3 / (download) - annotate - [select for diffs], Mon Sep 11 07:33:45 2017 UTC (5 years, 4 months ago) by maya
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315
Branch point for: tls-maxphys, phil-wifi, pgoyette-compat
Changes since 1.2: +1 -2 lines
Diff to previous 1.2 (colored)

keep dsb in vchiq code.

dsb refers to an arm instruction, so it won't be used on MI code.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Sep 11 05:22:10 2017 UTC (5 years, 4 months ago) by maya
Branch: MAIN
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

add dsb macro from vchiq

Revision 1.1 / (download) - annotate - [select for diffs], Mon Sep 11 05:20:17 2017 UTC (5 years, 4 months ago) by maya
Branch: MAIN

Move barrier to common so it can be shared with vchiq

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>