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. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1219234 Title: -device ide-hd will assign bus with with no free units Status in QEMU: Incomplete Bug description: 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. This is affects qemu.git as of today (8-31-2013) To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1219234/+subscriptions