<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/sys/arch/arm64, branch master</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/arm64?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/sys/arch/arm64?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2021-04-03T15:59:08Z</updated>
<entry>
<title>Add a guard page between I/O virtual address space allocations.  The idea</title>
<updated>2021-04-03T15:59:08Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2021-04-03T15:59:08Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a5eb7f55b9c1dc179deb7da5fa31c6889c73c8ca'/>
<id>urn:sha1:a5eb7f55b9c1dc179deb7da5fa31c6889c73c8ca</id>
<content type='text'>
is that IOVA allocations always have a gap in-between which produces a fault
on access.  If a transfer to a given allocation runs further than expected
we should be able to see it.  We pre-allocate IOVA on bus DMA map creation,
and as long as we don't allocate a PTE descriptor, this comes with no cost.
We have plenty of address space anyway, so adding a page-sized gap does not
hurt at all and can only have positive effects.

Idea from kettenis@
</content>
</entry>
<entry>
<title>Exclude the first page from I/O virtual address space, which is the NULL</title>
<updated>2021-04-03T15:10:58Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2021-04-03T15:10:58Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=ab86b9020dc7a7e0f5e6f0a183513a03d13d2e53'/>
<id>urn:sha1:ab86b9020dc7a7e0f5e6f0a183513a03d13d2e53</id>
<content type='text'>
pointer address.  Not allowing this one to be allocated might help find
driver bugs, where the device is programmed with a NULL pointer.  We have
plenty of address space anyway, so excluding this single page does not
hurt at all and can only have positive effects.

Idea from kettenis@
</content>
</entry>
<entry>
<title>Fix Dale's email address</title>
<updated>2021-04-02T03:02:45Z</updated>
<author>
<name>tb</name>
<email>tb@openbsd.org</email>
</author>
<published>2021-04-02T03:02:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=1e299ff15b043b3abdc6f76f4191ab07b19228c1'/>
<id>urn:sha1:1e299ff15b043b3abdc6f76f4191ab07b19228c1</id>
<content type='text'>
ok drahn
</content>
</entry>
<entry>
<title>Turns out the PCIe DARTs support a full 32-bit device virtual address space.</title>
<updated>2021-03-29T17:04:00Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2021-03-29T17:04:00Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=14edd68e6a4948d2244829bbd092d21a09e8127c'/>
<id>urn:sha1:14edd68e6a4948d2244829bbd092d21a09e8127c</id>
<content type='text'>
Adjust the region managed by the extend accordingly but avoid the first
and last page.  The last page collides with the MSI address used by the
PCIe controller and not using the first page helps finding bugs.

ok patrick@
</content>
</entry>
<entry>
<title>Make sure that all CPUs end up with the same bits set in SCTLR_EL1.</title>
<updated>2021-03-27T20:03:15Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2021-03-27T20:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=9125e0069c7db1eefdb073f443c9bcc88e5de219'/>
<id>urn:sha1:9125e0069c7db1eefdb073f443c9bcc88e5de219</id>
<content type='text'>
Do this by clearing all the bits marked RES0 and set all the bits
marked RES1 for the ARMv8.0.

Any optional features introduced in later revisions of the architecture
(such as PAN) will be enabled after SCTLR_EL1 is initialized.

ok patrick@
</content>
</entry>
<entry>
<title>Add ARMv8.5 instruction set related CPU features.</title>
<updated>2021-03-27T19:57:19Z</updated>
<author>
<name>kettenis</name>
<email>kettenis@openbsd.org</email>
</author>
<published>2021-03-27T19:57:19Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=e9875c8fb27bdee9bc60930a50dd3845ddc5875c'/>
<id>urn:sha1:e9875c8fb27bdee9bc60930a50dd3845ddc5875c</id>
<content type='text'>
ok patrick@
</content>
</entry>
<entry>
<title>Fix "mach dtb" return code to avoid bogus boot</title>
<updated>2021-03-26T23:29:21Z</updated>
<author>
<name>kn</name>
<email>kn@openbsd.org</email>
</author>
<published>2021-03-26T23:29:21Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fcf3d43cc0b90d9e05a8e1269932955a1857612c'/>
<id>urn:sha1:fcf3d43cc0b90d9e05a8e1269932955a1857612c</id>
<content type='text'>
Bootloader command functions must return zero in case of failure,
returning 1 tells the bootloader to boot the currently set kernel iamge.

"machine dtb" is is the wrong way around so using it triggers a boot.

Fix this and print a brief usage (like other commands such as "hexdump" do)
while here.

Feedback OK patrick
</content>
</entry>
<entry>
<title>Fix errno, merge ioctl cases</title>
<updated>2021-03-26T22:55:48Z</updated>
<author>
<name>kn</name>
<email>kn@openbsd.org</email>
</author>
<published>2021-03-26T22:55:48Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=def7dd08d0e32b362027b34be550101a5e9795f4'/>
<id>urn:sha1:def7dd08d0e32b362027b34be550101a5e9795f4</id>
<content type='text'>
The EBADF error is always overwritten for the standby, suspend and
hibernate ioctls, only the mode ioctl has it right.

Merge the now identical casese while here.

OK patrick
</content>
</entry>
<entry>
<title>Pack the SPCR struct definition since the struct isn't naturally aligned</title>
<updated>2021-03-23T09:41:12Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2021-03-23T09:41:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=eeb8d4725bb547b9e48e7cf690b06be1f2f06587'/>
<id>urn:sha1:eeb8d4725bb547b9e48e7cf690b06be1f2f06587</id>
<content type='text'>
or padded, and hence e. g. the access to the PCI vendor/device id would be
broken.  The structs for the other tables all seem to be packed as well.

ok kettenis@
</content>
</entry>
<entry>
<title>Now that MSI pages are properly mapped, all that debug code in smmu(4)</title>
<updated>2021-03-22T20:34:45Z</updated>
<author>
<name>patrick</name>
<email>patrick@openbsd.org</email>
</author>
<published>2021-03-22T20:34:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a66e8666dd1e8617ff67e2f516e578445287310a'/>
<id>urn:sha1:a66e8666dd1e8617ff67e2f516e578445287310a</id>
<content type='text'>
can be removed.  The only thing left to implement for smmu(4) to work
out of the box with PCIe devices is to reserve the PCIe MMIO windows.
Let's see how we can do this properly.
</content>
</entry>
</feed>
