x86: 0.907 device: 0.855 user-level: 0.841 semantic: 0.828 debug: 0.809 files: 0.728 graphic: 0.727 performance: 0.699 PID: 0.660 mistranslation: 0.637 ppc: 0.614 assembly: 0.606 architecture: 0.585 socket: 0.555 peripherals: 0.532 permissions: 0.522 register: 0.497 kernel: 0.489 boot: 0.482 hypervisor: 0.477 i386: 0.472 arm: 0.438 virtual: 0.419 network: 0.419 risc-v: 0.415 vnc: 0.399 VMM: 0.207 TCG: 0.149 KVM: 0.102 -------------------- x86: 0.936 device: 0.493 virtual: 0.194 TCG: 0.104 debug: 0.099 files: 0.092 hypervisor: 0.047 user-level: 0.035 PID: 0.033 register: 0.020 peripherals: 0.013 architecture: 0.013 semantic: 0.012 boot: 0.007 socket: 0.006 kernel: 0.005 VMM: 0.005 assembly: 0.005 performance: 0.005 ppc: 0.004 network: 0.004 vnc: 0.003 risc-v: 0.003 permissions: 0.002 graphic: 0.002 KVM: 0.001 mistranslation: 0.001 i386: 0.001 arm: 0.001 -device ide-hd will assign bus with with no free units Originally filed here: https://bugzilla.redhat.com/show_bug.cgi?id=1000118 ./x86_64-softmmu/qemu-system-x86_64 -device ahci -drive id=aa,file=/tmp/foo,if=none -drive id=bb,file=/tmp/foo,if=none -device ide-hd,drive=aa -device ide-hd,drive=bb qemu-system-x86_64: -device ide-hd,drive=bb: Can't create IDE unit 1, bus supports only 1 units qemu-system-x86_64: -device ide-hd,drive=bb: Device initialization failed. qemu-system-x86_64: -device ide-hd,drive=bb: Device 'ide-hd' could not be initialized If a bus isn't specified for -device ide-hd, it just uses the first bus it finds, not taking into account if that bus was already assigned for another device. So users are forced to do -device ide-hd,bus=ide.0 -device ide-hd,bus=ide.1, etc. This isn't specific to -device ahci, but it's worse there since there isn't any -drive if=IDE or -hda convenience option, which both seem to get the logic correct. I know -device is the 'build it yourself' approach so I understand if this is WONTFIX. Is somebody still planning to fix this, or should this be closed as WONTFIX? I'll re-investigate. I definitely fixed some of this (there is if=IDE for AHCI now), but I recall Markus mentioning recently that there are a lot of weird things quite broken with AHCI and bus assignment. I'm working on several other IDE fixes for the next release, so we can add this one to the pile. I will leave it as "incomplete" for now since I need to re-assess. [Expired for QEMU because there has been no activity for 60 days.]