The Q35 board initialization does not currently bother to look for any drives added by the various syntactical sugar shorthands to be added to the AHCI HBA. These include -hda through -hdd, -cdrom, and -drive if=ide shorthands.
An obstacle to having implemented this sooner is debate over whether or not to add an additional interface type, and how to manage the different units-per-bus mappings of various HBA implementations. This patch series: (1) Does not add IF_AHCI, but reuses IF_IDE (2) Allows the if_max_devs table to be overridden (3) Adds this override to the Q35 board type. (4) Finally, adds implementation to Q35 initialization. Other changes from RFC2: - Re-uses ide_drive_get instead of ahci_drive_get - Adds units-per-bus property to all Q35 machines - Changes orphan scanning to exclude IF_NONE and automatically added drives - Renames 'units-per-idebus' to 'units-per-default-bus' And allows override of any one IF type (block_default) John Snow (6): blockdev: Orphaned drive search blockdev: Allow overriding if_max_dev property pc/vl: Add units-per-default-bus property ide: Update ide_drive_get to be HBA agnostic qtest/bios-tables: Correct Q35 command line q35/ahci: Pick up -cdrom and -hda options blockdev.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++- hw/i386/pc.c | 1 + hw/i386/pc_q35.c | 6 ++++- hw/ide/ahci.c | 15 +++++++++++++ hw/ide/ahci.h | 2 ++ hw/ide/core.c | 12 +++++----- include/hw/boards.h | 2 ++ include/sysemu/blockdev.h | 5 +++++ tests/bios-tables-test.c | 10 ++++----- vl.c | 20 ++++++++++++++++- 10 files changed, 115 insertions(+), 14 deletions(-) -- 1.9.3