Hi,

I would like to run OpenBSD as stated on the subject - I have been able, however, to run it successfully with "-cpu Opteron_G2-v1", but I would rather use "-cpu host" instead. Also note that on an Intel host, OpenBSD appears to work successfully on the same Linux base.

qemu invocation that yields a trap:
qemu-system-x86_64 -enable-kvm -machine q35 -cpu host,-nodeid-msr,-vmx-msr-bitmap,-popcnt,-tsc-deadline,-mmxext,-fxsr-opt,-pdpe1gb,-rdtscp,-3dnow,-3dnowext,-cmp-legacy,-svm,-cr8legacy,-abm,-sse4a,-misalignsse,-3dnowprefetch,-osvw,-amd-no-ssb \

        -drive file=/path/to/raw.img,format=raw,if=virtio \

        -m 512M  \

        -display curses

(note that `-cpu host` without deactivating any flag also yields a trap)

dmesg output:
ddb> dmesg

 OpenBSD 6.8 (GENERIC) #1: Tue Nov  3 09:04:47 MST 2020


r...@syspatch-68-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC

 real mem = 519954432 (495MB)

 avail mem = 489299968 (466MB)

 random: good seed from bootblocks

 mpath0 at root

 scsibus0 at mpath0: 256 targets

 mainbus0 at root

 bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5aa0 (9 entries)

bios0: vendor SeaBIOS version "?-20190711_202441-buildvm-armv7-10.arm.fedorapro

 ject.org-2.fc31" date 04/01/2014

 bios0: QEMU Standard PC (Q35 + ICH9, 2009)

 acpi0 at bios0: ACPI 3.0

 acpi0: sleep states S3 S4 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 Turion(tm) II Neo N40L Dual-Core Processor, 1497.89 MHz, 10-06-03

cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,
MMX,FXSR,SSE,SSE2,SSE3,CX16,x2APIC,POPCNT,DEADLINE,HV,NXE,MMXX,FFXSR,PAGE1GB,
RDTSCP,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,

SSBDNR

cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 1

 6-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      amd64_errata_setmsr+0x4e:       wrmsr


Contents of CPU registers:
ddb> show registers

 rdi                       0x9c5a203a

 rsi               0xffffffff820ff920    errata+0xe0

 rbp               0xffffffff824c5740    end+0x2c5740

 rbx                             0x18

 rdx                                0

 rcx                       0xc0011029

 rax                              0x3

 r8                0xffffffff824c55a8    end+0x2c55a8

 r9                                 0

 r10               0xbdf7dabff85d847b

 r11               0x51e076fef1dcfa7b

 r12                                0

 r13                                0

 r14               0xffffffff820ff940    acpihid_ca

 r15               0xffffffff820ff920    errata+0xe0

 rip               0xffffffff81bc6ede    amd64_errata_setmsr+0x4e

 cs                               0x8

 rflags                       0x10256    __ALIGN_SIZE+0xf256

 rsp               0xffffffff824c5730    end+0x2c5730

 ss                              0x10

 amd64_errata_setmsr+0x4e:       wrmsr



Working system dmesg (only change from invocation above is "-cpu Opteron_G2-v1"):
OpenBSD 6.8 (GENERIC) #1: Tue Nov  3 09:04:47 MST 2020


r...@syspatch-68-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC

real mem = 519950336 (495MB)

avail mem = 489304064 (466MB)

random: good seed from bootblocks

mpath0 at root

scsibus0 at mpath0: 256 targets

mainbus0 at root

bios0 at mainbus0: SMBIOS rev. 2.8 @ 0xf5aa0 (9 entries)

bios0: vendor SeaBIOS version "?-20190711_202441-buildvm-armv7-10.arm.fedoraproject.org-2.fc31" date 04/01/2014

bios0: QEMU Standard PC (Q35 + ICH9, 2009)

acpi0 at bios0: ACPI 3.0

acpi0: sleep states S3 S4 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 Opteron 22xx (Gen 2 Class Opteron), 1497.89 MHz, 0f-06-01

cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,
CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,x2APIC,HV,NXE,LONG,LAHF

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

cpu0: smt 0, core 0, package 0

mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges

cpu0: apic clock running at 999MHz

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

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!)

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 "Bochs VGA" rev 0x02

wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)

wsdisplay0: screen 1-5 added (80x25, vt100 emulation)

virtio0 at pci0 dev 2 function 0 "Qumranet Virtio Network" rev 0x00

vio0 at virtio0: address 9a:00:00:00:00:00

virtio0: msix shared

xhci0 at pci0 dev 3 function 0 vendor "Red Hat", unknown product 0x000d rev 0x01: apic 0 int 23, 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

virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00

vioblk0 at virtio1

scsibus1 at vioblk0: 1 targets

sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, >

sd0: 51200MB, 512 bytes/sector, 104857600 sectors

virtio1: msix shared

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 2: 1.5Gb/s

scsibus2 at ahci0: 32 targets

cd0 at scsibus2 targ 2 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

com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo

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

lpt0 at isa0 port 0x378/4 irq 7

axe0 at uhub0 port 5 configuration 1 interface 0 "ASIX Electronics AX88772" rev 2.00/0.01 addr 2

axe0: AX88772, address 00:50:b6:0b:cf:f0

ukphy0 at axe0 phy 16: Generic IEEE 802.3u media interface, rev. 1: OUI 0x000ec6, model 0x0006

vscsi0 at root

scsibus3 at vscsi0: 256 targets

softraid0 at root

scsibus4 at softraid0: 256 targets

root on sd0a (50fd7af99e5255c1.a) swap on sd0b dump on sd0b


I have been trying to disable features on qemu invocation, changing the "-machine" parameter and unloading the Linux msr module, without too much success. Folks in #qemu suggested the workaround I'm using and advised that the problem may be a CPU feature that I ought to disable, somehow.

I know about https://www.openbsd.org/lyrics.html#62 (No QEMU, only DDB) :-) However, if anybody has bumped into this and can successfully run OpenBSD as a guest on this type of hardware, I would be grateful if they could throw me a few ideas for me to try out.

Thanks!


Gabriel

Reply via email to