<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/mips64/include/proc.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/proc.h?h=jd%2Fqueueboosts</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/mips64/include/proc.h?h=jd%2Fqueueboosts'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2017-04-13T03:52:25Z</updated>
<entry>
<title>Provide mips64 with kernel-facing TCB_{GET,SET} macros that store it</title>
<updated>2017-04-13T03:52:25Z</updated>
<author>
<name>guenther</name>
<email>guenther@openbsd.org</email>
</author>
<published>2017-04-13T03:52:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=f5d56f6d1abf3988ecad6e5bcc0d9e60de25e475'/>
<id>urn:sha1:f5d56f6d1abf3988ecad6e5bcc0d9e60de25e475</id>
<content type='text'>
in struct mdproc.  With that, all archs have those and the __HAVE_MD_TCB
macro can be unifdef'ed as always defined.

ok kettenis@ visa@ jsing@
</content>
</entry>
<entry>
<title>Remove RM7000/RM9000-specific performance counter code. It originates</title>
<updated>2016-08-16T13:03:58Z</updated>
<author>
<name>visa</name>
<email>visa@openbsd.org</email>
</author>
<published>2016-08-16T13:03:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=592093c100b7b5c68ad55cc5f1402db114d6d7f0'/>
<id>urn:sha1:592093c100b7b5c68ad55cc5f1402db114d6d7f0</id>
<content type='text'>
from PMON2000 and has not been enabled on OpenBSD.

Suggested by and ok miod@ (after seeing a quad_t cleanup patch of mine)
</content>
</entry>
<entry>
<title>Rename mips64's trap_frame into trapframe.</title>
<updated>2016-03-06T19:42:27Z</updated>
<author>
<name>mpi</name>
<email>mpi@openbsd.org</email>
</author>
<published>2016-03-06T19:42:27Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b43ebd1336ec45c4f58736636aa17c117ac3cbe6'/>
<id>urn:sha1:b43ebd1336ec45c4f58736636aa17c117ac3cbe6</id>
<content type='text'>
For coherency with other archs and in order to use it in MI code.

ok visa@, tobiasu@
</content>
</entry>
<entry>
<title>Normalize sentinel. Use _MACHINE_*_H_ and _&lt;ARCH&gt;_*_H_ properly and consitently.</title>
<updated>2011-03-23T16:54:33Z</updated>
<author>
<name>pirofti</name>
<email>pirofti@openbsd.org</email>
</author>
<published>2011-03-23T16:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2fa72412907ae78c4787a4a8f888c5f0486e225c'/>
<id>urn:sha1:2fa72412907ae78c4787a4a8f888c5f0486e225c</id>
<content type='text'>
Discussed and okay drahn@. Okay deraadt@.
</content>
</entry>
<entry>
<title>Floating-point emulation code for systems lacking proper FPU (i.e. Octeon),</title>
<updated>2010-11-24T21:16:26Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2010-11-24T21:16:26Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0f3849f4bd70ec6a5f51ba6460e5bc487f013762'/>
<id>urn:sha1:0f3849f4bd70ec6a5f51ba6460e5bc487f013762</id>
<content type='text'>
enabled by option FPUEMUL.

This is pretty straightforward, except for conditional branch on FPU condition
codes emulation (bc1f/bc1fl/bc1t/bc1tl instructions): unlike most
RISC-with-delay-slots designs (m88k, sparc), the branch pipeline is not exposed
to the kernel on Mips, therefore we can not resume a branch without losing the
delay slot instruction.

Some other operating systems work around this issue by emulating the delay
slot instruction, but this is error-prone (and requires the kernel code to
be aware of all supported instructions of the processor it is currently running
on), some use dedicated breakpoints to single-step through the delay slot and
then resume the branch as expected, but this causes a lot of copy-on-write
allocations.

This code chooses a third path, of copying the delay slot instructions to run toa special `magic' page, followed by a special trap instruction to give control
back to the kernel. This makes sure the instruction will actually be run by the
processor, and that no more than one page per process is wasted, regardless of
the number of branches to emulate.

Tested on octeon (big-endian) by syuu@ and on loongson (little-endian) by me.
Note that enabling option FPUEMUL in the kernel will completely disable the
hardware FPU, if there is one; there is currently no way to build a kernel
supporting both hardware and software FPU, and there is no reason to change
this until there is a strong need to support both.
</content>
</entry>
<entry>
<title>Make sure ptrace_sstep(,0) actually clears breakpoints, by replacing the</title>
<updated>2010-11-24T21:01:02Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2010-11-24T21:01:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=4f4e8df457f3a0e24c866156bcbee9cd88c75d77'/>
<id>urn:sha1:4f4e8df457f3a0e24c866156bcbee9cd88c75d77</id>
<content type='text'>
ptrace guts with a logic similar to what the alpha port does.
</content>
</entry>
<entry>
<title>If UPAGES would turn out to be 1, instead of using wired TLB entries to map</title>
<updated>2009-12-07T19:01:03Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2009-12-07T19:01:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=71f315848919d80627ce137056e1feb533e784c3'/>
<id>urn:sha1:71f315848919d80627ce137056e1feb533e784c3</id>
<content type='text'>
the u area after each context switch, simply convert it to an XKPHYS address,
so that access to it never faults. Idea from NetBSD.
</content>
</entry>
<entry>
<title>Remove code allowing native binaries with O32 ABI to run, there aren't any...</title>
<updated>2009-11-19T20:13:51Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2009-11-19T20:13:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=724f56535ffda757c6945fa839a821693cf1fc7a'/>
<id>urn:sha1:724f56535ffda757c6945fa839a821693cf1fc7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch sgi to per-process AST, and move ast() from interrupt.c to trap.c</title>
<updated>2009-06-10T18:05:30Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2009-06-10T18:05:30Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a2bf86990e8482e1dababd05dc5afa1abad2443f'/>
<id>urn:sha1:a2bf86990e8482e1dababd05dc5afa1abad2443f</id>
<content type='text'>
where it can use userret() instead of duplicating it.
</content>
</entry>
<entry>
<title>Remove advertising clause from UCB licenses; ok deraad@</title>
<updated>2005-08-07T07:29:44Z</updated>
<author>
<name>miod</name>
<email>miod@openbsd.org</email>
</author>
<published>2005-08-07T07:29:44Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=53aa784a41578b06c923d9b3a5590acbd3bd0b73'/>
<id>urn:sha1:53aa784a41578b06c923d9b3a5590acbd3bd0b73</id>
<content type='text'>
</content>
</entry>
</feed>
