If you build QEMU with support for the sh4 target only (configure --target-list=sh4-softmmu) then 'make check' fails in the iotests, because some iotests, including for instance 040, try to create a machine with a virtio-scsi device, but they don't do anything to ensure that the machine they create actually has a PCI bus to plug the virtio-scsi device into, and so the test fails:
+Traceback (most recent call last): + File "/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/tests/qemu-iotests/040", line 94, in setUp + self.vm.launch() + File "/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/python/qemu/machine/machine.py", line 455, in launch + raise VMLaunchFailure( +qemu.machine.machine.VMLaunchFailure: ConnectError: Failed to establish session: EOFError + Exit code: 1 + Command: /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/sh4/qemu-system-sh4 -display none -vga none -chardev socket,id=mon,fd=5 -mon chardev=mon,mode=control -chardev socket,id=qtest,fd=3 -qtest chardev:qtest -accel qtest -nodefaults -display none -accel qtest -drive if=none,id=drive0,file=/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/sh4/scratch/qcow2-file-040/test.img,format=qcow2,cache=writeback,aio=threads,node-name=top,backing.node-name=mid,backing.backing.node-name=base -device virtio-scsi -device scsi-hd,id=scsi0,drive=drive0 + Output: [I 0.000000] OPENED +qemu-system-sh4: -device virtio-scsi: No 'PCI' bus found for device 'virtio-scsi-pci' (It happens that the default machine type for 'sh4' does not have a PCI bus.) How are the iotests supposed to select a machine model to run on, and how are they intended to mark themselves as requiring particular facilities, like PCI? Presumably some of the tests are missing the appropriate annotations to ensure they're skipped when the facilities required aren't present. thanks -- PMM