<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/amd64/include/atomic.h, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/amd64/include/atomic.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/amd64/include/atomic.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2017-05-27T20:12:12Z</updated>
<entry>
<title>On i386 and amd64, atomic instructions include an implicit memory barrier.</title>
<updated>2017-05-27T20:12:12Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2017-05-27T20:12:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9f3f0ed432415ecc31a81bcea1c330982ce74d0d'/>
<id>urn:sha1:9f3f0ed432415ecc31a81bcea1c330982ce74d0d</id>
<content type='text'>
ok mikeb@, visa@, mpi@
</content>
</entry>
<entry>
<title>Make atomic.h ready to be included in userland.</title>
<updated>2017-05-12T08:47:03Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2017-05-12T08:47:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b67e4186c4769a6a5959ad2f1df907c4c34a0c78'/>
<id>urn:sha1:b67e4186c4769a6a5959ad2f1df907c4c34a0c78</id>
<content type='text'>
- prefix the LOCK macro with an underscore
- keep setbits/clearbits and virtio barriers inside _KERNEL

ok dlg@, kettenis@
</content>
</entry>
<entry>
<title>Fix x86_atomic_{set|clear}bits_u64() by using the "er" constraint instead</title>
<updated>2016-08-17T11:56:42Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2016-08-17T11:56:42Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=7199ec15032b1c1b99be7f6c9e950a471bb147df'/>
<id>urn:sha1:7199ec15032b1c1b99be7f6c9e950a471bb147df</id>
<content type='text'>
of "ir" as the orq and andq instructions take a 32-bit immedate argument that
gets sign-extended.

ok mikeb@
</content>
</entry>
<entry>
<title>implement atomic_swap_{uint,ulong,ptr) and some md variants. use these</title>
<updated>2015-01-06T00:38:32Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2015-01-06T00:38:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9b702505ae13990c2fdad6f544edc7ef62878f55'/>
<id>urn:sha1:9b702505ae13990c2fdad6f544edc7ef62878f55</id>
<content type='text'>
to replace x86_atomic_testset_{u32,u64}.

help from guenther@ kettenis@
ok kettenis@
</content>
</entry>
<entry>
<title>Add virtio_membar_* macros</title>
<updated>2014-10-08T19:40:28Z</updated>
<author>
<name>sf</name>
<email>sf@openbsd.org</email>
</author>
<published>2014-10-08T19:40:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=07376847917782e303fe3a41784228b099ca0177'/>
<id>urn:sha1:07376847917782e303fe3a41784228b099ca0177</id>
<content type='text'>
Virtio needs the MP memory barriers even on SP kernels.

OK kettenis@
</content>
</entry>
<entry>
<title>Implement membar(9) API for amd64.</title>
<updated>2014-09-07T22:19:32Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2014-09-07T22:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=877a88e5ccb8cb29bd4e6e5a66d8f21f597fe7c1'/>
<id>urn:sha1:877a88e5ccb8cb29bd4e6e5a66d8f21f597fe7c1</id>
<content type='text'>
ok dlg@, guenther@
</content>
</entry>
<entry>
<title>Add implementations of atomic_{inc,dec,add,sub}_{int,long}() and</title>
<updated>2014-09-01T03:39:15Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2014-09-01T03:39:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=e3eaccae9d76588bb50d9ac649da9da9aff15ea8'/>
<id>urn:sha1:e3eaccae9d76588bb50d9ac649da9da9aff15ea8</id>
<content type='text'>
atomic_{add,sub}_{int,long}_nv(), based on Solaris and translated
through the mind of dlg@

Remove the 'memory' constraint from atomic_cas_{uint,ulong,ptr}()
now that rw_{enter,exit}*() use membars.

ok dlg@
</content>
</entry>
<entry>
<title>pass atomic_{cas,swap}_uint a volatile void * instead of a volatile</title>
<updated>2014-07-18T10:40:14Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2014-07-18T10:40:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b6a8cdec0644848be2c33a0b98958bac4cee0f95'/>
<id>urn:sha1:b6a8cdec0644848be2c33a0b98958bac4cee0f95</id>
<content type='text'>
void **. the latter is really hard to cast for, and not what what
solaris does.

ok kettenis@
</content>
</entry>
<entry>
<title>It's been a quarter century: we can assume volatile is present with that name.</title>
<updated>2014-03-29T18:09:28Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2014-03-29T18:09:28Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2df76cc2a0aee2cb2166e3799b7bb5c3f883f83d'/>
<id>urn:sha1:2df76cc2a0aee2cb2166e3799b7bb5c3f883f83d</id>
<content type='text'>
ok dlg@ mpi@ deraadt@
</content>
</entry>
<entry>
<title>replace x86_atomic_cas_things with atomic_cas_foo equivalents.</title>
<updated>2014-03-27T10:24:40Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2014-03-27T10:24:40Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=813b3f908663da48e2becacf1c3fd9989f3d6774'/>
<id>urn:sha1:813b3f908663da48e2becacf1c3fd9989f3d6774</id>
<content type='text'>
ok kettenis@
</content>
</entry>
</feed>
