On Wed, Aug 01, 2018 at 03:46:25PM +0200, Elmer Skjødt Henriksen wrote:
> After installing the 014_amdlfence patch released yesterday for 6.3, my
> OpenBSD VM crashes on boot. It's running under KVM on a Linux box (Ubuntu
> 18.04 w/ kernel 4.15) on an AMD Ryzen 7 1700 (microcode 0x8001137).
> I suppose this would also happen on vmm(4) and bhyve, however I don't have
> any such AMD hosts available for testing.
Hi Elmer,
This was tested in vmm(4), which does work, unfortunately there was not
extensive testing by in other virtualization software. The MSR that is
being set here is only mentioned in AMDs whitepaper and I had no reason
to believe any special consideration was needed for guest VMs on AMD
processors.
> It occurs both using libvirt's "EPYC" CPU model and using "host-passthrough"
> (i.e. no virtual CPU model), but the "core2duo" CPU model works fine.
>
> I guess not many people are running OpenBSD as a VM, and even less on AMD
> hardware. But still, a syspatch leaving the system unable to boot is
> probably not a good thing. :)
>
Even so, I would like to apologize. This situation is unfortunate, and
I'll try to work with other developers to find the best way forward.
But, I regret I am only but an amateur magician.
-Bryan.
> Kernel output:
> >> OpenBSD/amd64 BOOT 3.34
> boot>
> booting hd0a:/bsd: 8616075+2454544+262168+0+671744
> [646904+98+712056+493074]=0xd39630
> entry point at 0x1000158
> [ using 1852976 bytes of bsd ELF symbol table ]
> Copyright (c) 1982, 1986, 1989, 1991, 1993
> The Regents of the University of California. All rights reserved.
> Copyright (c) 1995-2018 OpenBSD. All rights reserved.
> https://www.OpenBSD.org
>
> OpenBSD 6.3 (GENERIC.MP) #7: Sun Jul 29 11:43:12 CEST 2018
>
> root@syspatch-63-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2130546688 (2031MB)
> avail mem = 2058960896 (1963MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf6880 (10 entries)
> bios0: vendor SeaBIOS version "1.10.2-1ubuntu1" date 04/01/2014
> bios0: QEMU Standard PC (i440FX + PIIX, 1996)
> acpi0 at bios0: rev 0
> acpi0: sleep states S5
> acpi0: tables DSDT FACP APIC
> 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 Ryzen 7 1700 Eight-Core Processor, 2994.73 MHz
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,PCLMUL,SSSE3,FMA3,CX16,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,MMXX,FFXSR,PAGE1GB,RDTSCP,LONG,LAHF,CMPLEG,SVM,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,FSGSBASE,BMI1,AVX2,SMEP,BMI2,RDSEED,ADX,SMAP,CLFLUSHOPT,SHA,IBPB,XSAVEOPT,XSAVEC,XGETBV1
> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 16MB 64b/line 16-way L3 cache
> cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> kernel: protection fault trap, code=0
> Stopped at identifycpu+0x7ad: rdmsr
> ddb{0}> trace
> identifycpu(ffffffff81a99ff0,ffff800000039400,ffffffff81d40a58,ffff8000210b9000
> ,ffffffff81d40a60,12ad28e092a02002) at identifycpu+0x7ad
> cpu_attach(ffff800000023100,ffffffff81d40a58,ffffffff81a97040,ffff800000039400,
> ffff800000039424,12ad28e092a02002) at cpu_attach+0x326
> config_attach(0,ffff80000001c744,ffff80000001c718,ffff80000001c744,ffffffff81d4
> 0a38,ffffffff813ce5d0) at config_attach+0x1d8
> acpimadt_attach(ffff800000020400,ffffffff81d40b60,ffffffff81aa84d0,ffff80000003
> 9b80,ffff800000039ba4,12ad28e092a02002) at acpimadt_attach+0x3be
> config_attach(ffffffff81d40b60,ffff800000020400,ffff800000020470,ffff8000000204
> 60,ffff80000001c700,ffffffff81683350) at config_attach+0x1d8
> acpi_attach(ffff800000023180,ffffffff81d40c50,ffffffff81abf0d8,ffff800000020400
> ,ffff800000020424,12ad28e092a02002) at acpi_attach+0x5c1
> config_attach(ffff8000210b7884,ffff800000023180,50,118,ffff8000210b78b0,fffffff
> f81256180) at config_attach+0x1d8
> bios_attach(ffff800000023100,ffffffff81d40d88,ffffffff81aa2188,ffff800000023180
> ,ffff8000000231a4,12ad28e092a02002) at bios_attach+0x636
> config_attach(ffffffff81d40d88,ffff800000023100,ffffffff81ab0bb0,ffff8000000231
> 00,ffff800000023124,ffffffff81456d90) at config_attach+0x1d8
> mainbus_attach(0,0,12ad28e092a02002,ffffffff81d40db0,ffffffff81d40e20,300000001
> 0) at mainbus_attach+0x71
> config_attach(0,ffffffff819a78b4,ffffffff81ac8fd2,ffffffff81d40e78,b28,0) at
> co
> nfig_attach+0x1d8
> config_rootfound(0,0,0,0,ffffffff81d3a008,12ad28e092a02002) at
> config_rootfound
> +0xd3
> cpu_configure(0,0,ffffffff8141440b,ffffffff81d40ef0,0,0) at
> cpu_configure+0x1b
> main(0,0,0,12ad28e092a02002,ffffffff814eff28,ffffffff81d40f20) at main+0x4a8
> end trace frame: 0x0, count: -14
> ddb{0}> ps
> PID TID PPID UID S FLAGS WAIT COMMAND
> * 0 0 -1 0 7 0x10200 swapper
>
No comments:
Post a Comment