Hello again, it occurred to me that the problem is problably reproducible using the uniprocesesor kernel, as long as mpbios is enabled, and this is indeed the case.
So change the line to "-smp 1,sockets=1,cores=1,threads=1" and boot "/bsd" -- this will speed up execution enormously. Rob Urban On 02/14/2014 01:26 AM, Robert Urban wrote: > Hello Folks, > > this bug can be reproduced using OpenBSD 5.4 as the host, with the stock qemu > package, and an OpenBSD 5.4 guest. > > Booting the GENERIC.MP kernel in the VM was painfully slow, but it eventually > came up to multi-user mode. > > The script to run the OpenBSD 5.4 guest on the OpenBSD 5.4 host: > -snip- > #!/bin/sh > > qemu-system-x86_64 \ > -S \ > -m 2048 \ > -smp 2,sockets=2,cores=1,threads=1 \ > -monitor stdio \ > -vnc :0 \ > -no-fd-bootchk \ > -net nic \ > -net user \ > -cdrom /space/install54.iso \ > -drive > file=/space/obsd54test.raw,index=0,media=disk,cache=none,format=raw > -snip- > > qemu will start, but not start the VM until "c" is entered in the monitor. A > vnc > client must be started to get the console before starting the VM: > > vncviewer localhost:5900 > > As usual, issuing the "system_powerdown" command in the monitor caused the > guest > to freeze totally. > > The guest VM container file can be found here: > > http://www.spielwiese.de/OpenBSD/bsd-host-obsd54test.raw.7z > > It's 143MB compressed, and 10G uncompressed. The root password is "x". > > Rob Urban > > original bug report: >>> Synopsis: OpenBSD VM freezes when qemu sends it the ACPI >> power-button-pressed event >>> Category: kernel >>> Environment: >> System : OpenBSD 5.4 >> Details : OpenBSD 5.4 (GENERIC.MP) #0: Mon Jan 20 19:07:21 MET 2014 >> root <at> >> dna54.y42.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP >> >> Architecture: OpenBSD.amd64 >> Machine : amd64 >>> Description: >> On an SMP v5.4 system running in a qemu/KVM VM, the qemu >> "system_powerdown" command (which is the equivalent of issuing >> "virsh shutdown <guest>" if qemu is under libvirt control) will >> cause the OpenBSD guest to freeze totally. >> The host is linux x86_64 (Debian and Fedora). This can be reproduced with >> OpenBSD (amd64) versions 5.3, 5.4 and 5.5 (snapshot), and also with qemu >> versions 0.12.5, 1.6.1, 1.7.5 (snapshot from 2014-02-12). >> >> I do not know if qemu or OpenBSD is at fault. I also opened a qemu bug, >> which can be found here: >> https://bugs.launchpad.net/qemu/+bug/1279500 >>> How-To-Repeat: >> Install a SMP OpenBSD in a qemu VM and send it an ACPI >> power-button-pressed >> event. >>> Fix: >> The only "workaround" is to disable mpbios(4), but this is no workaround >> on an SMP system. >> >> >> dmesg: >> OpenBSD 5.4 (GENERIC.MP) #0: Mon Jan 20 19:07:21 MET 2014 >> root <at> dna54.y42.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP >> real mem = 3204427776 (3055MB) >> avail mem = 3111464960 (2967MB) >> mainbus0 at root >> bios0 at mainbus0: SMBIOS rev. 2.4 <at> 0xbffffec0 (11 entries) >> bios0: vendor Bochs version "Bochs" date 01/01/2007 >> bios0: Bochs Bochs >> acpi0 at bios0: rev 0 >> acpi0: sleep states S3 S4 S5 >> acpi0: tables DSDT FACP SSDT APIC HPET >> acpi0: wakeup devices >> acpitimer0 at acpi0: 3579545 Hz, 24 bits >> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat >> acpihpet0 at acpi0: 100000000 Hz >> acpiprt0 at acpi0: bus 0 (PCI0) >> mpbios0 at bios0: Intel MP Specification 1.4 >> cpu0 at mainbus0: apid 0 (boot processor) >> cpu0: QEMU Virtual CPU version 0.12.5, 3411.92 MHz >> cpu0: >> FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCNT,NXE,LONG,LAHF,PERF >> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB >> 64b/line >> 16-way L2 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 >> cpu0: apic clock running at 1000MHz >> cpu1 at mainbus0: apid 1 (application processor) >> cpu1: QEMU Virtual CPU version 0.12.5, 3411.60 MHz >> cpu1: >> FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCNT,NXE,LONG,LAHF,PERF >> cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB >> 64b/line >> 16-way L2 cache >> cpu1: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped >> cpu1: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped >> cpu1: smt 0, core 0, package 1 >> mpbios0: bus 0 is type PCI >> mpbios0: bus 1 is type ISA >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 11, 24 pins >> ioapic0: misconfigured as apic 0, remapped to apid 2 >> pci0 at mainbus0 bus 0 >> pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02 >> pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00 >> pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 >> wired to compatibility, >> channel 1 wired to compatibility >> pciide0: channel 0 disabled (no drives) >> atapiscsi0 at pciide0 channel 1 drive 0 >> scsibus0 at atapiscsi0: 2 targets >> cd0 at scsibus0 targ 0 lun 0: <QEMU, QEMU DVD-ROM, 0.12> ATAPI 5/cdrom >> removable >> cd0(pciide0:1:0): using PIO mode 0 >> uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 2 int 11 >> piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 2 int 9 >> iic0 at piixpm0 >> iic0: addr 0x4c 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 >> 06=0000 07=0000 >> iic0: addr 0x4e 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 >> 06=0000 07=0000 >> vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00 >> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) >> wsdisplay0: screen 1-5 added (80x25, vt100 emulation) >> virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00: Virtio >> Network Device >> vio0 at virtio0: address 52:54:00:d5:62:00 >> virtio0: apic 2 int 11 >> virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio >> Block Device >> vioblk0 at virtio1 >> scsibus1 at vioblk0: 2 targets >> sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed >> sd0: 225280MB, 512 bytes/sector, 461373440 sectors >> virtio1: apic 2 int 11 >> virtio2 at pci0 dev 5 function 0 "Qumranet Virtio Memory" rev 0x00: Virtio >> Memory Balloon Device >> viomb0 at virtio2 >> virtio2: apic 2 int 10 >> isa0 at pcib0 >> isadma0 at isa0 >> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo >> com0: console >> pckbc0 at isa0 port 0x60/5 >> pckbd0 at pckbc0 (kbd slot) >> pckbc0: using irq 1 for kbd slot >> wskbd0 at pckbd0: console keyboard, using wsdisplay0 >> pms0 at pckbc0 (aux slot) >> pckbc0: using irq 12 for aux slot >> wsmouse0 at pms0 mux 0 >> pcppi0 at isa0 port 0x61 >> spkr0 at pcppi0 >> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 >> fd0 at fdc0 drive 0: density unknown >> fd1 at fdc0 drive 1: density unknown >> usb0 at uhci0: USB revision 1.0 >> uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> nvram: invalid checksum >> mtrr: Pentium Pro MTRR support >> vscsi0 at root >> scsibus2 at vscsi0: 256 targets >> softraid0 at root >> scsibus3 at softraid0: 256 targets >> root on sd0a (96d06f5d8b94f8d4.a) swap on sd0b dump on sd0b >> clock: unknown CMOS layout >> >> usbdevs: >> Controller /dev/usb0: >> addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), >> Intel(0x8086), rev 1.00 >> port 1 powered >> port 2 powered
