I am not aware of a feature flag we can check for if we can
write to MSR_DE_CFG, and my guess is their VM needs to silently
ignore the bits we modify, and not generate a fault.

I'm not sure what we can do here, but I suspect some developers will
think about it. 

Anyways, they decided to fault.  That seems wrong.  I think they will
get other complaints in the near future.  I think you should let them
know.  It is an easy fix on their side.

Lucas <lu...@sexy.is> wrote:

> Hey,
> 
> I'm running this on a Hetzner VPS, with the dmesg below. I ran syspatch
> followed by installboot -v sd0. After each boot, 100% I get
> 
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD EPYC Processor, 2445.60 MHz, 17-31-00
> cpu0: FPU,... (proc capabilities)
> cpu0: 32KB ... (cache info)
> cpu0: smt 0, core 0, package 0
> kernel: protection fault trap, code=0
> Stopped at      cpu_fix_msrs+0x1a4:      wrmsr
> ddb{0}> show panic
> the kernel did not panic
> ddb{0}> show reg
> rdi             0xffffffff8243dff0    cpu_info_full_primary+0x1ff0
> rsi                            0x2
> rbp             0xffffffff829277f0    end+0x3277f0
> rbx             0xffff800000043880
> rdx                              0
> rcx                     0xc0011029
> rax                          0x202
> r8               0x101010101010101
> r9              0x8080808080808080
> r10             0xf74eb8da9a13c7be
> r11             0x4299783767f1ac05
> r12             0xffff8000000438a4
> r13             0xffff800020a11000
> r14             0xffffffff8243dff0    cpu_info_full_primary+0x1ff0
> r15                           0x17
> rip             0xffffffff811b50f4    cpu_fix_msrs+0x1a4
> cs                             0x8
> rflags                             0x10202    __ALIGN_SIZE+0xf202
> rsp             0xffffffff829277c0    end+0x3277c0
> ss                            0x10
> cpu_fix_msrs+0x1a4:   wrmsr
> ddb{0}> bt
> cpu_fix_msrs(...) at cpu_fix_msrs+0x1a4
> cpu_attach(...) at cpu_attach+0x3fd
> config_attach(...) at config_attach+0x1f4
> acpimadt_attach(...) at acpimadt_attach+0x349
> config_attach(...) at config_attach+0x1f4
> acpi_attach_common(...) at acpi_attach_common+0x5db
> config_attach(...) at config_attach+0x1f4
> bios_attach(...) at bios_attach+0x77e
> config_attach(...) at config_attach+0x1f4
> mainbus_attach(...) at mainbus_attach+0x778
> config_attach(...) at config_attach+0x1f4
> cpu_configure(...) at cpu_configure+0x33
> main(0,0,0,0,0,1) at main+0x3d3
> end trace fram: 0x0, count: 13
> ddb{0}> mach ddbcpu 1
> Invalid cpu 1
> ddb{0}> 
> 
> 
> I've screenshots of the backtrace, should the function parameters be
> required.
> 
> If other people are lucky like, remember that you can `boot /obsd` at
> the boot prompt to boot an older kernel.
> 
> After booting the old kernel, I successfully ran fw_update and fetched
> the amd firmware package. Nevertheless, the problem persists. I tried
> rerunning `syspatch` and `installboot -v sd0` again, and the problem
> still persists. In case it's relevant, the installboot output is
> 
> Using / as root
> installing bootstrap on /dev/rsd0c
> using first-stage /usr/mdec/biosboot, second-stage /usr/mdec/boot
> copying /usr/mdec/boot to //boot
> looking for superblock at 65536
> found valid ffs2 superblock
> //boot is 6 blocks x 16384 bytes
> fs block shift 2; part offset 64; inode block 56, offset 5232
> expecting 64-bit fs blocks (incr 4)
> master boot record (MBR) at sector 0
>       partition 3: type 0xA6 offset 64 size 80003008
> /usr/mdec/biosboot will be written at sector 64
> 
> 
> OpenBSD 7.3 (GENERIC.MP) #0: Wed Jul 12 05:09:49 MDT 2023
>     
> r...@syspatch-73-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2080227328 (1983MB)
> avail mem = 1997848576 (1905MB)
> random: good seed from bootblocks
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf59d0 (10 entries)
> bios0: vendor Hetzner version "20171111" date 11/11/2017
> bios0: Hetzner vServer
> acpi0 at bios0: ACPI 3.0
> acpi0: sleep states S5
> acpi0: tables DSDT FACP APIC HPET MCFG WAET
> acpi0: wakeup devices
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD EPYC Processor, 2445.58 MHz, 17-31-00
> cpu0: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,TOPEXT,CPCTR,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,SHA,UMIP,IBPB,IBRS,STIBP,SSBD,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 512KB 
> 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 1000MHz
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD EPYC Processor, 2445.89 MHz, 17-31-00
> cpu1: 
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,TOPEXT,CPCTR,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,CLWB,SHA,UMIP,IBPB,IBRS,STIBP,SSBD,XSAVEOPT,XSAVEC,XGETBV1,XSAVES
> cpu1: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 512KB 
> 64b/line 8-way L2 cache, 16MB 64b/line 16-way L3 cache
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
> acpihpet0 at acpi0: 100000000 Hz
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xb0000000, bus 0-255
> acpiprt0 at acpi0: bus 0 (PCI0)
> "ACPI0006" at acpi0 not configured
> acpipci0 at acpi0 PCI0: 0x00000000 0x00000011 0x00000001
> com0 at acpi0 COM1 addr 0x3f8/0x8 irq 4: ns16550a, 16 byte fifo
> acpicmos0 at acpi0
> "PNP0A06" at acpi0 not configured
> "PNP0A06" at acpi0 not configured
> "QEMU0002" at acpi0 not configured
> "ACPI0010" at acpi0 not configured
> acpicpu0 at acpi0: C1(@1 halt!)
> acpicpu1 at acpi0: C1(@1 halt!)
> pvbus0 at mainbus0: KVM
> pvclock0 at pvbus0
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel 82G33 Host" rev 0x00
> vga1 at pci0 dev 1 function 0 "Qumranet Virtio 1.x GPU" rev 0x01
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> ppb0 at pci0 dev 2 function 0 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci1 at ppb0 bus 1
> virtio0 at pci1 dev 0 function 0 "Qumranet Virtio 1.x Network" rev 0x01
> vio0 at virtio0: address 96:00:01:e4:f0:79
> virtio0: msix shared
> ppb1 at pci0 dev 2 function 1 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci2 at ppb1 bus 2
> xhci0 at pci2 dev 0 function 0 vendor "Red Hat", unknown product 0x000d rev 
> 0x01: apic 0 int 22, xHCI 0.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Red Hat xHCI root hub" rev 
> 3.00/1.00 addr 1
> ppb2 at pci0 dev 2 function 2 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci3 at ppb2 bus 3
> virtio1 at pci3 dev 0 function 0 "Qumranet Virtio 1.x Console" rev 0x01
> virtio1: no matching child driver; not configured
> ppb3 at pci0 dev 2 function 3 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci4 at ppb3 bus 4
> virtio2 at pci4 dev 0 function 0 vendor "Qumranet", unknown product 0x1045 
> rev 0x01
> viomb0 at virtio2
> virtio2: apic 0 int 22
> ppb4 at pci0 dev 2 function 4 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci5 at ppb4 bus 5
> virtio3 at pci5 dev 0 function 0 "Qumranet Virtio 1.x RNG" rev 0x01
> viornd0 at virtio3
> virtio3: apic 0 int 22
> ppb5 at pci0 dev 2 function 5 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci6 at ppb5 bus 6
> virtio4 at pci6 dev 0 function 0 "Qumranet Virtio 1.x SCSI" rev 0x01
> vioscsi0 at virtio4: qsize 128
> scsibus1 at vioscsi0: 255 targets
> sd0 at scsibus1 targ 0 lun 0: <QEMU, QEMU HARDDISK, 2.5+>
> sd0: 39064MB, 512 bytes/sector, 80003072 sectors, thin
> virtio4: msix shared
> ppb6 at pci0 dev 2 function 6 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci7 at ppb6 bus 7
> ppb7 at pci0 dev 2 function 7 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 22
> pci8 at ppb7 bus 8
> ppb8 at pci0 dev 3 function 0 vendor "Red Hat", unknown product 0x000c rev 
> 0x00: apic 0 int 23
> pci9 at ppb8 bus 9
> pcib0 at pci0 dev 31 function 0 "Intel 82801IB LPC" rev 0x02
> ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x02: msi, AHCI 1.0
> ahci0: port 0: 1.5Gb/s
> scsibus2 at ahci0: 32 targets
> cd0 at scsibus2 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 2.5+> removable
> ichiic0 at pci0 dev 31 function 3 "Intel 82801I SMBus" rev 0x02: apic 0 int 16
> iic0 at ichiic0
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> uhidev0 at uhub0 port 5 configuration 1 interface 0 "QEMU QEMU USB Tablet" 
> rev 2.00/0.00 addr 2
> uhidev0: iclass 3/0
> ums0 at uhidev0: 3 buttons, Z dir
> wsmouse1 at ums0 mux 0
> vscsi0 at root
> scsibus3 at vscsi0: 256 targets
> softraid0 at root
> scsibus4 at softraid0: 256 targets
> root on sd0a (b8f88f9185934966.a) swap on sd0b dump on sd0b
> 
> -Lucas
> 

Reply via email to