OpenBSD cvs log

created 2022-07-31T01:05:13Z
begin 2022-07-27T00:00:00Z
end 2022-07-28T00:00:00Z
path src/sys
commits 9

date 2022-07-27T01:44:25Z
author daniel
files src/sys/arch/i386/i386/machdep.c log diff annotate
src/sys/arch/i386/include/cputypes.h log diff annotate
message retire Rise CPU identification code

The Rise mp6 was an x86 compatible CPU that was available for about
a year from 1998 to 1999. Only the Kirin core was ever available
while the Lynx core did not make it to market. Shortly after this
CPU was released, SiS acquired Rise's technology and integrated it
into their SiS55x SoC which used a different vendor string.

Given how uncommon Rise CPUs are and given that we don't do anything
if we detect such a CPU, remove the small amount of code used to
identify them. OpenBSD should continue to run on these CPUs, they
just won't be recognized as Rise CPUs explicitly.

It is suspected that in the current code, a Rise CPU would not show
CX8 in the dmesg despite supporting the CMPXCHG8B instruction. The
Rise datasheet says that this cpuid feature bit is set to 0 to
"circumvent a reported bug in Windows NT". This is only a cosmetic
issue though as our kernel does not use CMPXCHG8B and our toolchain
assumes it exists (we default to -march=i586).

An interesting writeup on this topic is available here:

https://www.geoffchappell.com/studies/windows/km/cpu/cx8.htm

ok mlarkin@, deraadt@, jsg@

date 2022-07-27T06:41:04Z
author hastings
files src/sys/dev/ic/mtwreg.h log diff annotate
message Enumerate and shift PHY mode bits.

ok stsp@, jmatthew@, kevlo@

date 2022-07-27T06:41:22Z
author hastings
files src/sys/dev/usb/if_mtw.c log diff annotate
message Enumerate and shift PHY mode bits.

ok stsp@, jmatthew@, kevlo@

date 2022-07-27T06:57:06Z
author jsg
files src/sys/dev/pci/drm/include/linux/llist.h log diff annotate
message fix llist_for_each_entry*

enabling more of __notify_execute_cb() and running the intel xorg driver
on broadwell would fault in __notify_execute_cb() on
movq 0x38(%rsi),%r12

offsetof(struct execute_cb, work.node.llist) 0x38

llist_entry(NULL must not return NULL, it needs to wrap around
and return NULL minus the offset

the iterators stop when the offset added back to the result of
llist_entry() is NULL

they test that the first node is not NULL or that the next pointer
stored in a previous iteration of the loop is not NULL

date 2022-07-27T07:08:34Z
author jsg
files src/sys/dev/pci/drm/i915/i915_request.c log diff annotate
src/sys/dev/pci/drm/include/linux/irq_work.h log diff annotate
message now that llist is fixed enable more of i915 __notify_execute_cb()
this path is called when running the intel xorg driver on broadwell

date 2022-07-27T12:32:03Z
author kn
files src/sys/arch/sparc64/stand/ofwboot/ofdev.c log diff annotate
message Fix reconstructed softraid bootline

With softraid, OBP's boot-file variable aka. bootline may contain the
sofraid volume name and kernel file name delimited by a double colon, e.g.
"sr0", "sr0a", "sr0:", "sr0a:", "sr0:/bsd" or "sr0a:/bsd".

ofwboot parses this string, may fill in optional partition number ("a")
and/or optional kernel file name ("/bsd") and always prints the fully
qualified string reconstructed from parts as "Booting <bootline>":
{0} ok boot my-devalias sr0
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0
[...]
Booting sr0:a/bsd
[...]

{0} ok boot my-devalias sr0a:/bsd
[...]
Boot device: /virtual-devices@100/channel-devices@200/disk@0 File and args: sr0a:/bsd
[...]
Booting sr0:a/bsd
[...]

Swap partition and delimiter to fix the reconstructed string, making it
suitable for copy/paste:
Booting sr0a:/bsd

This has not been an issue since the reconstructed string is only printed
and not (re)used anywhere.

OK kettenis

date 2022-07-27T20:18:46Z
author kettenis
files src/sys/arch/arm64/dev/apldma.c log diff annotate
message Partially catch up with device tree bindings in mainline Linux.
Initialize the burst size register such that DMA channels that haven't
been initialized by Apple's bootloader also work.

ok patrick@

date 2022-07-27T20:26:17Z
author kettenis
files src/sys/arch/arm64/arm64/intr.c log diff annotate
src/sys/arch/armv7/armv7/intr.c log diff annotate
src/sys/arch/powerpc64/powerpc64/intr.c log diff annotate
src/sys/arch/riscv64/riscv64/intr.c log diff annotate
message Support "empty" phandles in interrups-extended properties. This is needed
to support the device tree binding for the "apple,admac" controller.

ok visa@, patrick@

date 2022-07-27T21:01:38Z
author kettenis
files src/sys/arch/arm64/arm64/machdep.c log diff annotate
src/sys/arch/arm64/dev/efi.c log diff annotate
message Postpone calling the EFI SetVirtualAddressMap() interface until efi(4)
attaches. This prevents us from having to map the various EFI memory regions
early on. These early mappings use 1G blocks. On Apple M1 systems, these
blocks may overlap memory that isn't accessable. The CPU may speculatively
access this inaccessable memory which will result in SError exceptions.

ok deraadt@