Did you try with just a basic virtio disk and it works for you? Because even a basic virtio drive addition fails for me, even this fails on higher than 2.8.1
For example: qemu-system-ppc -M mpc8544ds -nographic -kernel /home/me/boot/uImage-2.6.32 -append "root=/dev/vda rw" -drive file=/home/me/mmcblk0p2.dd,if=virtio The only thing I can think of, is if somehow vda fails due to me running the higher version qemu binaries from their build locations/paths without actually "installing" them in usual paths etc. But I ran the 2.8 version from build location I compiled it from and it worked from there, but perhaps the 2.8 version was also the distro installed default one so maybe it found dependencies it needed? Anyway I just now reconfigured 4.2.0 with --prefix /opt/qemu4.2.0 and ran it from installed dir: root@myserver:/opt/qemu4.2.0/bin# ./qemu-system-ppc -M mpc8544ds -nographic -kernel /home/me/boot/uImage-2.6.32 -append "root=/dev/vda rw" -drive file=/home/me/mmcblk0p2.dd,if=virtio But it still fails even after make install and running it from the /opt/qemu4.2.0/bin directory. Is it somehow conflicting with the other qemu version 2.8.. installed by usual apt-get install? Regardless of how I start them, version 3.1.0 and 4.2.0rc4 and some other 4.19git and 4.2.0final all fail/freeze at: " .... nbd: registered device at major 43 vda: " -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1856834 Title: Virtio broken in qemu ppc in 4.2.0 and other versions Status in QEMU: New Bug description: The same qemu -M mpc... command that works on qemu-system-ppc version 2.8.0 freezes guest on bootup and shows error for qemu-system-ppc version 4.2.0release and 4.19dirtygit: qemu-system-ppc: virtio-blk failed to set guest notifier (-24), ensure -accel kvm is set. qemu-system-ppc: virtio_bus_start_ioeventfd: failed. Fallback to userspace (slower). ends/freezes at: nbd: registered device at major 43 vda: I'm using -drive file=/home/me/rawimage.dd,if=virtio and works fine in version 2.8.0 installed with apt-get install (Ubuntu 17.04) and also with 2.8.0 official release from git/github that I compiled/built myself. But both of the newer releases fail on the same exact machine same config. I also noticed that qemu-2.8.0 was fine with mtd but the newer ones I tried weren't, ie gave qemu-system-ppc: -drive if=mtd: machine type does not support if=mtd,bus=0,unit=0 (but I removed -drive if=mtd since wasn't using it anyway) I also tried on windows but I think virtio doesn't work on windows hosts at all? On windows host it fails the same way, even version 2.12 as well as 4.1.10... used: ./configure --prefix=/opt/... --enable-fdt --enable-kvm --enable-debug (basically all steps the same on same exact system same config, yet 2.8.0 works fine whether apt-get installed or built from source while the others I built, 4.19/4.2.0 or 2.12/4.1.10(win) don't.) In case newer qemu versions act weird on various kernels, I did try with both vmlinuz-4.10.0-19-generic and vmlinuz-4.13.12-041312-generic (I didn't compile them but I can provide config-..files. This is on Ubuntu 17.04 x86_64 host emulating e500v2 cpm guest, ie -M mpc... GUEST kernel 2.6.32.44 which is why I can't use -M ppce500 instead..) tx ecs To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1856834/+subscriptions