<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/mips64/include/cpu.h, branch jd/queueboosts</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/mips64/include/cpu.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/mips64/include/cpu.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2020-05-31T06:23:56Z</updated>
<entry>
<title>introduce "cpu_rnd_messybits" for use instead of nanotime in dev/rnd.c.</title>
<updated>2020-05-31T06:23:56Z</updated>
<author>
<name>dlg</name>
<email>dlg@openbsd.org</email>
</author>
<published>2020-05-31T06:23:56Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=01802d2cc63d886227ab3b39e923ff13cf516166'/>
<id>urn:sha1:01802d2cc63d886227ab3b39e923ff13cf516166</id>
<content type='text'>
rnd.c uses nanotime to get access to some bits that change quickly
between events that it can mix into the entropy pool. it doesn't
use nanotime to get a monotonically increasing set or ordered and
accurate timestamps, it just wants something with bits that change.

there's been discussions for years about letting rnd use a clock
that's super fast to read, but not necessarily accurate, but it
wasn't until recently that i figured out it wasn't interested in
time at all, so things like keeping a fast clock coherent between
cpu cores or correct according to ntp is unecessary. this means we
can just let rnd read the cycle counters on cpus and things will
be fine.  cpus with cycle counters that vary in their speed and
arent kept consistent between cores may even be desirable in this
context.

so this is the first step in converting rnd.c to reading cycle
counter. it copies the nanotime backend to each arch, and they can
replace it with something MD as a second step later on.

djm@ suggested rnd_messybytes, but we landed on cpu_rnd_messybits.
thanks to visa for his eyes.
ok deraadt@ visa@
deraadt@ says he will help handle any MD fallout that occurs.
</content>
</entry>
<entry>
<title>in non-MP, cpu_number() the #define should be 0UL; ok visa</title>
<updated>2019-09-02T02:35:08Z</updated>
<author>
<name>deraadt</name>
<email>deraadt@openbsd.org</email>
</author>
<published>2019-09-02T02:35:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=282d9ab5bb8194ee733174e9c1921d57001c3eef'/>
<id>urn:sha1:282d9ab5bb8194ee733174e9c1921d57001c3eef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Turn need_resched() and signotify() into proper functions on mips64.</title>
<updated>2019-05-05T13:28:14Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2019-05-05T13:28:14Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=00c79297cde52f3758ac191ea525674a23bbbead'/>
<id>urn:sha1:00c79297cde52f3758ac191ea525674a23bbbead</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Include srp.h where struct cpu_info uses srp to avoid erroring out when</title>
<updated>2018-12-05T10:28:21Z</updated>
<author>
<name>jsg</name>
<email>jsg@openbsd.org</email>
</author>
<published>2018-12-05T10:28:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1a1181a966226532433438cb3741ae7cdc0727d4'/>
<id>urn:sha1:1a1181a966226532433438cb3741ae7cdc0727d4</id>
<content type='text'>
including cpu.h machine/intr.h etc without first including param.h when
MULTIPROCESSOR is defined.

ok visa@
</content>
</entry>
<entry>
<title>Add processor IDs for several OCTEON II and III SoCs.</title>
<updated>2018-12-04T16:24:13Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2018-12-04T16:24:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=5f3b292c92fd8f5c843f196251d0aa235a4ffce7'/>
<id>urn:sha1:5f3b292c92fd8f5c843f196251d0aa235a4ffce7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Declare ci_ipl volatile to prevent the compiler from optimizing</title>
<updated>2018-02-24T11:42:30Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2018-02-24T11:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=cb5217fba3727742f326b0c20baed47113c0e1ef'/>
<id>urn:sha1:cb5217fba3727742f326b0c20baed47113c0e1ef</id>
<content type='text'>
or reordering accesses to the variable. Assume that the assembler
preserves the correct sequence of instructions, which allows the
removal of the explicit noreorder/reorder toggles from the C code.

With ci_ipl being volatile, drop mips_sync() calls that follow
the accesses of the variable. The sync is redundant as a compiler
barrier. In addition, the MIPS64 CPU designs should not need the
sync for pipeline or write buffer control. According to miod@,
the use of the instruction is a carryover from code targeting
early MIPS designs that lack tight integration with the cache
and write buffer.

Discussed with and testing help from miod@.
Tested on CN5020, CN6120, CN7130, CN7360, Loongson 2F and 3A1000,
R4400, R8000, R10000 and R16000.
</content>
</entry>
<entry>
<title>Drop unused field `ci_ipiih'.</title>
<updated>2018-01-29T14:53:01Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2018-01-29T14:53:01Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=e39ac6ab45d3e52c272b210747bc70e324747702'/>
<id>urn:sha1:e39ac6ab45d3e52c272b210747bc70e324747702</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use MI mplock on mips64.</title>
<updated>2017-10-21T06:11:22Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2017-10-21T06:11:22Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9390f3854d26ce45dc4db6a378db16ebc35ea112'/>
<id>urn:sha1:9390f3854d26ce45dc4db6a378db16ebc35ea112</id>
<content type='text'>
OK mpi@
</content>
</entry>
<entry>
<title>Let the kernel utilize the FPU if one is available, even when the</title>
<updated>2017-09-02T15:56:29Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2017-09-02T15:56:29Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=6d1676f7a61bec8a8db7e0033dd62bd52a8da9a6'/>
<id>urn:sha1:6d1676f7a61bec8a8db7e0033dd62bd52a8da9a6</id>
<content type='text'>
FPUEMUL option is enabled. This benefits OCTEON III systems which can
run floating-point operations natively.

Feedback from and OK miod@; he also helped with testing.

Tested on octeon without FPU (CN5020, CN6120) and with FPU (CN7130),
as well as on sgi/IP27 (MP R16000), sgi/IP32 (R5000), and
loongson (3A1000).
</content>
</entry>
<entry>
<title>Define MAXCPUS per mips64 port.</title>
<updated>2017-07-30T16:05:24Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2017-07-30T16:05:24Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=70641ad19215cac260b8a751878d8e511c606661'/>
<id>urn:sha1:70641ad19215cac260b8a751878d8e511c606661</id>
<content type='text'>
</content>
</entry>
</feed>
